下面的函数正确解密php5中的数据
function decrypt_mcrypt($key, $str) {
$str = base64_decode($str);
$iv = substr($str, 0, 16);
$str = substr($str, 16);
return mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $str, MCRYPT_MODE_CFB, $iv);
}
我尝试使用 openssl 而不是 mcrypt (在 php7 中),但输出中出现垃圾。
function decrypt_openssl($key, $str) {
$str = base64_decode($str);
$iv = substr($str, 0, 16);
$str = substr($str, 16);
return openssl_decrypt($str, 'AES-256-CFB', $key, OPENSSL_RAW_DATA, $iv);
}
可能是什么问题呢?
openssl_decrypt
使用 PKCS#5 填充,其中mcrypt
用零填充消息。
尝试使用OPENSSL_ZERO_PADDING
使用时的选项openssl_decrypt
as per the docs http://php.net/manual/en/function.openssl-decrypt.php.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)