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() - Отримує криптографічно безпечні випадкові байти