openssl_random_pseudo_bytes

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_random_pseudo_bytesГенерирует псевдослучайную последовательность байт

Описание

openssl_random_pseudo_bytes(int$length, bool&$strong_result = null): string

Генерирует строку псевдослучайных байт длиной length.

Также, если задать необязательный параметр strong_result, который передаётся по ссылке, то в него запишется true или false, в зависимости от того, был ли использован криптографически сильный алгоритм.

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

length

Длина генерируемой строки. Должна быть целым положительным числом, меньшим или равным 2147483647. При использовании, PHP попытается привести этот параметр к ненулевому целому числу.

strong_result

Если задано, то в переданную переменную будет записано true или false, в зависимости от того, был ли использован криптографически сильный алгоритм.

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

Возвращает строку случайных байт.

Ошибки

Функция openssl_random_pseudo_bytes() выбрасывает исключение Exception в случае возникновения ошибки.

Список изменений

ВерсияОписание
8.0.0strong_result теперь допускает значение null.

Примеры

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

<?php
for ($i = 1; $i <= 4; $i++) {
$bytes = openssl_random_pseudo_bytes($i, $cstrong);
$hex = bin2hex($bytes);

echo
"Lengths: Bytes: $i and Hex: " . strlen($hex) . PHP_EOL;
var_dump($hex);
var_dump($cstrong);
echo
PHP_EOL;
}
?>

Вывод приведённого примера будет похож на:

Lengths: Bytes: 1 and Hex: 2 string(2) "42" bool(true) Lengths: Bytes: 2 and Hex: 4 string(4) "dc6e" bool(true) Lengths: Bytes: 3 and Hex: 6 string(6) "288591" bool(true) Lengths: Bytes: 4 and Hex: 8 string(8) "ab86d144" bool(true)

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

  • random_bytes() - Получает криптографически безопасные случайные байты
  • bin2hex() - Преобразовывает двоичные данные в шестнадцатеричное представление
  • crypt() - Необратимое хеширование строки
  • random_int() - Получает криптографически безопасное равномерно выбранное целое число
To Top