我的加密/ iv代码不起作用。每当我测试登录时,我都会收到此错误
警告:openssl_encrypt():使用空的初始化向量(iv)可能不安全,不建议在 /Users/luke/Sites/user.php 在线 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);
答案 0 :(得分:1)
您正在获取“CAST”的静态大小:MCRYPT_CAST_256
,但您使用“aes-128-cbc”进行加密。这是一种算法不匹配。
CAST块大小为64位,AES块大小为128位。而是使用MCRYPT_RIJNDAEL_128
,AES是Rijndael的子集,具有128位的块。