【发布时间】:2018-08-18 12:21:33
【问题描述】:
我想从 mcrypt_encrypt() 转移到 openssl_encrypt() 以进行 AES 256 加密
但是加密后的数据不一样!
例如 mcrypt_encrypt() 输出:
Od2i8FHmWvMeXt+HwCy7k93koPVClK1erHsZwoB6sUE=
和 openssl_encrypt() 输出:
Od2i8FHmWvMeXt+HwCy7kyCt0nvHTaO4IdjdiF15LAc=
我的代码:
<?php
$encryption_key = openssl_random_pseudo_bytes(32);
$iv = openssl_random_pseudo_bytes(16);
$data = "Here's some data to encrypt!";
$encrypted = openssl_encrypt($data, "aes-256-cbc", $encryption_key, 0, $iv);
echo "encrypted: $encrypted\n\n";
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $encryption_key, $data, MCRYPT_MODE_CBC, $iv));
echo "encrypted: $encrypted\n\n";
?>
有什么问题?谢谢
【问题讨论】:
-
请注意结尾的不同之处? ...这可能会有所帮助:stackoverflow.com/questions/41181905/…
-
@IncredibleHat 这解决了我的问题!非常感谢
-
=) 对不起,我之前很迟钝...
-
@IncredibleHat 没问题.. 谢谢!