The size of the initialization vector (iv) will be returned in bytes NOT bits, something to keep in mind specially if the iv is passed together appended or prepended with the encrypted data for decryption
(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)
mcrypt_get_iv_size — Возвращает размер инициализирующего вектора для соответствующей комбинации шифра и режима
Эта функция объявлена УСТАРЕВШЕЙ начиная с PHP 7.1.0 и была УДАЛЕНА в версии PHP 7.2.0. Использовать эту функцию крайне не рекомендуется.
Возвращает размер инициализирующего вектора для соответствующей
заданной комбинации шифра cipher
и режима mode
.
Правильнее будет использовать mcrypt_enc_get_iv_size(), так как она возвращает результат по существующему дескриптору шифрования, полученного с помощью mcrypt_module_open().
cipher
Одна из констант MCRYPT_ciphername
или название алгоритма в виде строки.
mode
Одна из констант MCRYPT_MODE_modename
, либо одна из следующих строк: "ecb", "cbc", "cfb", "ofb", "nofb" и "stream".
Инициализирующий вектор игнорируется в режиме ECB, так как он там не нужен. Вам понадобится один и тот же инициализирующий вектор как для шифрования, так и для дешифровки, иначе все ваше шифрование превратится в тыкву.
Возвращает размер инициализирующего вектора в байтах. В случае возникновения ошибки
будет возвращено false
. Если при заданной комбинации шифра и режима
инициализирующий вектор не нужен, будет возвращён ноль.
Пример #1 Пример использования mcrypt_get_iv_size()
<?php
echo mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB) . "\n";
echo mcrypt_get_iv_size('des', 'ecb') . "\n";
?>
The size of the initialization vector (iv) will be returned in bytes NOT bits, something to keep in mind specially if the iv is passed together appended or prepended with the encrypted data for decryption