(PHP 7, PHP 8)
random_int — Récupère un entier sélectionné de manière uniforme et cryptographiquement sécurisée
$min
, int $max
): intGé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
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.
min
La valeur minimale à retourner.
max
La valeur maximale à retourner.
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.
max
est inférieur à min
,
une ValueError sera lancée.
Version | Description |
---|---|
8.2.0 | En cas d'échec CSPRNG, cette fonction lancera désormais une Random\RandomException. Auparavant une Exception basique était lancé. |
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)