random_int
(PHP 7, PHP 8)
random_int — Отримує криптографічно безпечне, рівномірно вибране ціле число
Опис
random_int(int $min, int $max): int
Створює рівномірно вибране ціле число між заданими мінімумом та максимумом.
Випадкова послідовність, що створюється функцією, підходить для всіх програм, включаючи генерацію довгострокових секретів, таких як ключі шифрування.
Джерела випадкових величин у порядку пріоритету:
-
Linux:» getrandom(), /dev/urandom
-
FreeBSD >= 12 (PHP >= 7.3): » getrandom(), /dev/urandom
-
Windows (PHP >= 7.2): » CNG-API
Windows:» CryptGenRandom
-
macOS (PHP >= 8.2; >= 8.1.9; >= 8.0.22, якщо CCRandomGenerateBytes доступний під час компіляції): CCRandomGenerateBytes()
macOS (PHP >= 8.1; >= 8.0.2): arc4random_buf(), /dev/urandom
-
NetBSD >= 7 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), /dev/urandom
-
OpenBSD >= 5.5 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), /dev/urandom
-
DragonflyBSD (PHP >= 8.1): » getrandom(), /dev/urandom
-
Solaris (PHP >= 8.1): » getrandom(), /dev/urandom
-
Будь-яка комбінація операційної системи та версії PHP, не вказана раніше: /dev/urandom
-
Якщо жодне з джерел не доступне або всі вони не генерують випадкову величину, то буде викинуто винятокRandom\RandomException
Зауваження: Ця функція була додана в PHP 7.0, а для версій з 5.2 до 5.6 включно доступна » користувацька реалізація
Список параметрів
min
Нижня межа діапазону.
max
Верхня межа діапазону.
Значення, що повертаються
Криптографічно безпечне, рівномірно обране ціле число із замкнутого інтервалу [min
max
]. Можливими значеннями, що повертаються, є min
иmax
Помилки
- Якщо відповідних джерел випадкових величин відсутні, то викидається винятокRandom\RandomException
- Якщо поставити
max
меньше чемmin
, то буде викинуто виняток класуValueError
список змін
Версия | Опис |
---|---|
8.2.0 | У разі помилки CSPRNG, функція тепер буде викидати виняток Random\RandomException. . Раніше викидався виняток Exception |
Приклади
Приклад #1 Приклад використання random_int()****
Loading...
Висновок наведеного прикладу буде схожим на:
int(248)
int(-898)
Дивіться також
- Random\Randomizer::getInt() - Отримує рівномірно обране ціле число
- random_bytes() - Отримує криптографічно безпечні випадкові байти