# random_int

(PHP 7, PHP 8)

random_int — Ré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

- Si aucune source de données aléatoires n'est trouvée, une Random\RandomException sera lancée.
- Si `max` est inférieur à `min`, une ValueError sera lancée.

### Historique

Version | Description
--- | ---
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

- Random\Randomizer::getInt() - Renvoie un entier sélectionné de manière uniforme
- random_bytes() - Récupère des octets aléatoires cryptographiquement sécurisés