array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.mcrypt-get-iv-size.php', 1 => 'mcrypt_get_iv_size', ), 'up' => array ( 0 => 'ref.mcrypt.php', 1 => 'Mcrypt', ), 'prev' => array ( 0 => 'function.mcrypt-get-cipher-name.php', 1 => 'mcrypt_get_cipher_name', ), 'next' => array ( 0 => 'function.mcrypt-get-key-size.php', 1 => 'mcrypt_get_key_size', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/mcrypt/functions/mcrypt-get-iv-size.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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";
?>