В PHP 7 следующие две новые функции введены для генерации криптографически безопасных целых чисел и строк кросс-платформенным способом.
-
random_bytes () — генерирует криптографически защищенные псевдослучайные байты.
-
random_int () — генерирует криптографически безопасные псевдослучайные целые числа.
random_bytes () — генерирует криптографически защищенные псевдослучайные байты.
random_int () — генерирует криптографически безопасные псевдослучайные целые числа.
random_bytes ()
random_bytes () генерирует строку произвольной длины из криптографических случайных байтов, которые подходят для криптографического использования, например, при генерации солей, ключей или векторов инициализации.
Синтаксис
string random_bytes ( int $length )
параметры
-
длина — длина случайной строки, которая должна быть возвращена в байтах.
длина — длина случайной строки, которая должна быть возвращена в байтах.
Возвращаемые значения
-
Возвращает строку, содержащую запрошенное количество криптографически безопасных случайных байтов.
Возвращает строку, содержащую запрошенное количество криптографически безопасных случайных байтов.
Исключения Ошибки /
-
Если соответствующий источник случайности не может быть найден, будет выдано исключение.
-
Если заданы недопустимые параметры, выдается ошибка TypeError .
-
Если задана недопустимая длина байтов, выдается ошибка.
Если соответствующий источник случайности не может быть найден, будет выдано исключение.
Если заданы недопустимые параметры, выдается ошибка TypeError .
Если задана недопустимая длина байтов, выдается ошибка.
пример
<?php $bytes = random_bytes(5); print(bin2hex($bytes)); ?>
Это производит следующий вывод браузера —
54cc305593
random_int ()
random_int () генерирует криптографические случайные целые числа, которые подходят для использования, когда несмещенные результаты являются критическими.
Синтаксис
int random_int ( int $min , int $max )
параметры
-
min — минимальное возвращаемое значение, которое должно быть PHP_INT_MIN или выше.
-
max — максимальное возвращаемое значение, которое должно быть меньше или равно PHP_INT_MAX .
min — минимальное возвращаемое значение, которое должно быть PHP_INT_MIN или выше.
max — максимальное возвращаемое значение, которое должно быть меньше или равно PHP_INT_MAX .
Возвращаемые значения
-
Возвращает криптографически безопасное случайное целое число в диапазоне от минимального до максимального включительно.
Возвращает криптографически безопасное случайное целое число в диапазоне от минимального до максимального включительно.
Ошибки / Исключения
-
Если соответствующий источник случайности не может быть найден, будет выдано исключение .
-
Если заданы недопустимые параметры, выдается ошибка TypeError .
-
Если max меньше min, выдается ошибка .
Если соответствующий источник случайности не может быть найден, будет выдано исключение .
Если заданы недопустимые параметры, выдается ошибка TypeError .
Если max меньше min, выдается ошибка .
пример
<?php print(random_int(100, 999)); print(""); print(random_int(-1000, 0)); ?>
Это производит следующий вывод браузера —