Php mcrypt_create_iv返回未定义的变量

Php mcrypt_create_iv返回未定义的变量,php,mcrypt,php-openssl,Php,Mcrypt,Php Openssl,我的加密/iv代码不起作用。每当我测试登录时,我都会得到这个错误 警告:openssl_encrypt():在第174行的/Users/luke/Sites/user.php中使用空初始化向量(iv)可能不安全,因此不建议使用该向量 我已经追踪到了这一行 $size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB); $iv = mcrypt_create_iv($size, MCRYPT_DEV_URANDOM); $method =

我的加密/iv代码不起作用。每当我测试登录时,我都会得到这个错误

警告:openssl_encrypt():在第174行的/Users/luke/Sites/user.php中使用空初始化向量(iv)可能不安全,因此不建议使用该向量

我已经追踪到了这一行

$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\u CAST\u 256
但您使用的是“aes-128-cbc”加密。这是算法不匹配


强制转换块大小为64位,AES块大小为128位。AES是RIJNDAEL的一个子集,具有128位的块。

请使用PHP来处理密码安全性。如果您使用的是低于5.5的PHP版本,则可以使用
密码\u hash()
。好的,希望能有所帮助,谢谢您