Генерация криптографически безопасных целых чисел и строк в PHP 7 — CSPRNG

Генерация криптографически безопасных целых чисел и строк в PHP 7 — CSPRNG

От автора: генерация числа PHP 7 (имеются в виду криптографически безопасные целые числа) и строк в кросс-платформенном виде осуществляется с помощью двух новых функций: random_bytes() и random_int().

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

random_int() — генерирует криптографически безопасные псевдослучайные целые числа.

random_bytes()

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

Синтаксис

string random_bytes ( int $length )

Параметры

length — длина в байтах случайной строки, которая должна быть возвращена.

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее

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

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

Ошибки / Исключения

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

Если указаны недопустимые параметры, будет введено 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 до max, включительно.

Ошибки / Исключения

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

Если указаны недопустимые параметры, будет введено TypeError.

Если max меньше min, будет введено Error.

Пример

<?php
  print(random_int(100, 999));
  print("");
  print(random_int(-1000, 0));
?>

Этот код выводит в браузере следующее:

614
-882

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Хотите изучить ООП PHP?

Прямо сейчас посмотрите курс по объектно-ориентированному программированию на PHP (ООП PHP)!

Смотреть курс

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree