openssl_random_pseudo_bytes

(PHP 5 >= 5.3.0, PHP 7)

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

Описание

openssl_random_pseudo_bytes ( int $length [, bool &$crypto_strong ] ) : string

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

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

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

length

Длина генерируемой строки. Положительное целое число.

crypto_strong

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

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

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

Примеры

Пример #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: 0
string(0) ""
NULL

Lengths: Bytes: 0 and Hex: 0
string(0) ""
NULL

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() - Необратимое хеширование строки
  • mt_rand() - Генерирует случайное значение методом с помощью генератора простых чисел на базе Вихря Мерсенна
  • uniqid() - Сгенерировать уникальный ID