mcrypt_create_iv
(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)
mcrypt_create_iv — Создать инициализирующий вектор (Initialization Vector или IV) из случайного источника
Эта функция объявлена УСТАРЕВШЕЙ в PHP 7.1.0 и УДАЛЕНА в PHP 7.2.0.
Есть следующие альтернативы:
Описание
$size
, int $source
= MCRYPT_DEV_URANDOM
) : stringСоздает инициализирующий вектор из случайного источника.
IV предназначен только для задания альтернативного начального случайного числа для процедур шифрования. IV не обязательно должен быть секретным, хотя это и желательно. Вы даже можете отправить его вместе со своим зашифрованным текстом, не теряя при этом в безопасности.
Список параметров
-
size
-
Размер IV.
-
source
-
Источник IV. Источним может быть задан одной из констант:
MCRYPT_RAND
(системный генератор случайных чисел),MCRYPT_DEV_RANDOM
(читает данные из /dev/random) илиMCRYPT_DEV_URANDOM
(читает данные из /dev/urandom). До версии 5.3.0, на Windows поддерживался толькоMCRYPT_RAND
.Обратите внимание, что до PHP 5.6.0 значением по умолчанию было
MCRYPT_DEV_RANDOM
.Замечание: Обратите внимание, что
MCRYPT_DEV_RANDOM
может блокироваться до появления достаточной энтропии.
Возвращаемые значения
Возвращает инициализирующий вектор или false
в случае возникновения ошибки.
Примеры
Пример #1 Пример использования mcrypt_create_iv()
<?php
$size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
$iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>
Смотрите также
- » http://www.ciphersbyritter.com/GLOSSARY.HTM#IV
- » http://www.quadibloc.com/crypto/co0409.htm
- Applied Cryptography by Schneier (ISBN 0-471-11709-9), раздел 9.3
- random_bytes() - Генерирует криптографически безопасные псевдослучайные байты