php如何openssl_encrypt加密解
https://blog.csdn.net/zhemejinnameyuanxc/article/details/83383434
DES 是对称性加密里面常见一种,全称为 Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法。密钥长度是64位(bit),超过位数密钥被忽略。所谓对称性加密即加密和解密密钥相同,对称性加密一般会按照固定长度,把待加密字符串分成块,不足一整块或者刚好最后有特殊填充字符。
跨语言做 DES 加密解密经常会出现问题,往往是填充方式不对、编码不一致或者加密解密模式没有对应上造成。
常见的填充模式有: pkcs5、pkcs7、iso10126、ansix923、zero。
加密模式有:DES-ECB、DES-CBC、DES-CTR、DES-OFB、DES-CFB。
openssl_encrypt($data, $method, $password, $options, $iv)
参数说明:
$data 加密明文
$method 加密方法
DES-ECB
DES-CBC
DES-CTR
DES-OFB
DES-CFB
$passwd 加密密钥[密码]
$options 数据格式选项(可选)【选项有:】
0
OPENSSL_RAW_DATA=1
OPENSSL_ZERO_PADDING=2
OPENSSL_NO_PADDING=3
$iv 密初始化向量(可选)
需要注意:如果method为DES−ECB,则 method为DES-ECB,则method为DES−ECB,则iv无需填写
openssl_decrypt($data, $method, $password, $options, $iv)
参数说明: