php7.1废弃加密方法替代方案: mcrypt_encrypt vs openssl_encrypt
在php7及以上版本中,mcrypt扩展已废弃不再支持。因此,在php7以上版本中,使用mcrypt_encrypt函数存在问题,需要寻找替代方案。
使用openssl_encrypt函数作为mcrypt_encrypt的替代方案,可以提供类似的功能。但是,使用openssl_encrypt实现加密时,输出结果与mcrypt_encrypt不一致。
原因分析:
解决方案:
为了解决这些问题,需要对openssl_encrypt函数的调用进行修改:
修改后的代码示例如下:
$key = '5AE8274196C85364D44938E47D80ACA6'; $text = '1222.01'; $cipher = 'aes-192-ecb'; $context = openssl_encrypt($text, $cipher, $key, OPENSSL_RAW_DATA); $base64Context = base64_encode($context); if ($base64Context === 'cPnrXHxzWG6e0GyC7X/kpg==') { echo "Output is consistent with mcrypt_encrypt."; }