(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
в случае возникновения ошибки.
Версия | Описание |
---|---|
5.6.0 |
Теперь MCRYPT_DEV_URANDOM является значением по умолчанию
для source .
|
5.3.0 |
MCRYPT_DEV_RANDOM и
MCRYPT_DEV_URANDOM теперь доступны для Windows.
|
5.3.0 | Теперь не нужно предварительно запускать srand(), так как это происходит автоматически. |
Пример #1 Пример использования mcrypt_create_iv()
<?php
$size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
$iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>