mcrypt create iv возвращает неопределенную переменную
Мой код шифрования/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);
Mcrypt установлен нормально, как показано на рисунке.
Можете ли вы помочь или мне, возможно, нужно предоставить еще код?
2
Author: Jay Blanchard, 2016-01-27
1 answers
Вы получаете размер iv для "ПРИВЕДЕНИЯ": MCRYPT_CAST_256
, но вы шифруете с помощью "aes-128-cbc". Это неправильный алгоритм.
Размер ПРИВЕДЕННОГО блока составляет 64 бита, размер блока AES - 128 бит. Вместо этого используйте MCRYPT_RIJNDAEL_128
, AES - это подмножество Rijndael с блоком из 128 бит.
1
Author: zaph, 2016-01-27 00:00:32