我有一个问题,我想用open_ssl decrypt替换对mcrypt的函数调用。但输出混合在一起:
这是mcrypt实现(效果很好):
$decrypted = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128,
substr(sha1($this->secretKey), 0, 32),
base64_decode($encrypted),
MCRYPT_MODE_CBC,
base64_decode($iv)), "\0..\32");
var_dump($decrypted);
我把它翻译成:
var_dump(
trim(
openssl_decrypt(
$encrypted,
'AES-256-CBC',
substr(sha1($this->secretKey), 0, 32),
OPENSSL_ZERO_PADDING, $iv)
),"\0..\32");
,
但它会导致错误:
openssl_decrypt():传递的IV长度为24个字节,长度超过 16选择密码预期,截断
混合输出:
'米%XLJ J> | lgSke":" 2017-05-19T05:48:37-07:00""收据":
混合的第一个键值对。
我可能错过了任何建议或任何选项?
谢谢你!