random_int

(PHP 7, PHP 8)

random_intRécupère un entier sélectionné de manière uniforme et cryptographiquement sécurisée

Description

random_int(int$min, int$max): int

Génère un entier uniformément sélectionné entre la valeur minimale et maximale données.

La randomisation générée par cette fonction est adaptée à toutes les applications, y compris la génération de secrets à long terme, tels que des clés de chiffrement.

Les sources de hasard par ordre de priorité sont les suivantes :

  • 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 si CCRandomGenerateBytes est disponible au moment de la compilation): 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

  • Toute combinaison d'un système d'exploitation et d'une version de PHP non mentionnée précédemment: /dev/urandom.
  • Si aucune des sources de hasard n'est disponible ou si elles échouent toutes à générer de l'aléatoire, une exception de type Random\RandomException sera levée.

Note: Bien que cette fonction ait été ajoutée en PHP 7.0, une » implementation en espace utilisateur est disponible pour PHP 5.2 jusqu'à 5.6, inclus.

Liste de paramètres

min

La valeur minimale à retourner.

max

La valeur maximale à retourner.

Valeurs de retour

Un entier sélectionné de manière uniforme et cryptographiquement sécurisée à partir de l'intervalle fermé [min, max]. Les deux valeurs min et max peuvent être retournées.

Erreurs / Exceptions

Historique

VersionDescription
8.2.0 En cas d'échec CSPRNG, cette fonction lancera désormais une Random\RandomException. Auparavant une Exception basique était lancé.

Exemples

Exemple #1 Exemple avec random_int()

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

Résultat de l'exemple ci-dessus est similaire à :

int(248) int(-898)

Voir aussi

To Top