random_bytes

(PHP 7)

random_bytesГенерирует криптографически безопасные псевдослучайные байты

Описание

random_bytes ( int $length ) : string

Генерирует строку криптографически случайных байт произвольной длины, которую можно использовать в криптографических целях, например, для генерации соли, ключей или векторов инициализации.

Источник случайных величин используемых данной функцией:

  • В Windows всегда используется » CryptGenRandom() Начиная с PHP 7.2.0, вместо него всегда будет использоваться » CNG-API.
  • В Linux, если доступен, используется системный вызов » getrandom(2).
  • На других платформах используется /dev/urandom.
  • Если доступные источники случайных величин отсутствуют, то выбрасывается исключение Exception.

Замечание: Эта функция была добавлена в PHP 7.0, а для версий с 5.2 по 5.6 включительно доступна » пользовательская реализация.

Список параметров

length

Длина генерируемой строки в байтах.

Возвращаемые значения

Возвращает строку, состоящую из заданного количества криптографически безопасных байт.

Ошибки

  • Если подходящие источники случайных величин отсутствуют, то выбрасывается исключение Exception.
  • Если задан некорректный параметр, то выбрасывается исключение TypeError.
  • Если будет задана некорректная длина length, то будет выброшено исключение класса Error.

Примеры

Пример #1 Пример использования random_bytes()

<?php
$bytes 
random_bytes(5);
var_dump(bin2hex($bytes));
?>

Результатом выполнения данного примера будет что-то подобное:

string(10) "385e33f741"

Смотрите также

  • random_int() - Генерирует криптографически безопасные псевдослучайные целые числа
  • openssl_random_pseudo_bytes() - Генерирует псевдослучайную последовательность байт
  • bin2hex() - Преобразует бинарные данные в шестнадцатеричное представление