mcrypt_create_iv returns 未定义变量

mcrypt_create_iv returns undefined variable

我的 encryption/iv 代码不起作用。每当我测试登录时,我都会收到此错误

Warning: openssl_encrypt(): Using an empty Initialization Vector (iv) is potentially insecure and not recommended in /Users/luke/Sites/user.php on line 174

我已经追踪到这条

$size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
$iv = mcrypt_create_iv($size, MCRYPT_DEV_URANDOM);
$method = "aes-128-cbc";
$passWord = mcrypt_create_iv($size, MCRYPT_DEV_URANDOM);
$verificationNumber = openssl_encrypt($passWord, $method, $iv);

Mcrypt 安装正常,如图所示。 你能帮忙吗,或者我可能需要提供更多代码吗?

您正在获取 "CAST" 的 iv 大小:MCRYPT_CAST_256 但您正在使用 "aes-128-cbc" 进行加密。那是一个算法mis-match.

CAST 块大小为 64 位,AES 块大小为 128 位。而是使用 MCRYPT_RIJNDAEL_128,AES 是 Rijndael 的子集,具有 128 位块。