One minute
PHP7.2 AES加解密
所以之前使用PHP AES加解密的相关函数(mcrypt_encrypt
、mcrypt_decrypt
…)在PHP7.1+中都已经废除了,新版PHP中通过OpenSSL库的相关方法来实现AES等加解密。
其实手册上的说明已经非常清楚了,但是函数声明中的options参数的说明让我很困惑,经过实践后整理结论如下
options value 说明 NULL
0 返回 base64
编码后的字符串OPENSSL_RAW_DATA
1 返回原始字符串 OPENSSL_ZERO_PADDING
2 不填充字符串(默认使用 PKCS#7
填充字符串)
所以之前用mcrypt_encrypt
方法加密得到的密文,在新版中只要用openssl_decrypt
方法并且使用options=0
来解密即可。
参考