下面的函数正确解密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);
}
可能是什么问题?
答案 0 :(得分:0)
openssl_decrypt
使用PKCS#5填充,其中mcrypt
使用零填充消息。
根据the docs使用OPENSSL_ZERO_PADDING
时,请尝试使用openssl_decrypt
选项。