(PHP 5 >= 5.3.0, PHP 7, PHP 8)
openssl_random_pseudo_bytes — Génère une chaîne pseudo-aléatoire d'octets
Génère une chaîne de caractères pseudo-aléatoire d'octets, dont la longueur est
spécifiée par le paramètre length.
Indique également si l'algorithme fort de cryptologie a été utilisé pour
produire ces octets pseudo-aléatoires, en utilisant le paramètre
strong_result.
length
La taille désirée pour la chaîne d'octets. Doit être un nombre entier positif
inférieur ou égal à 2147483647. PHP va tenter de
transtyper ce paramètre en un entier non nul pour l'utiliser.
strong_result
Si fourni, détermine si l'algorithme de cryptologie utilisé
était cryptographiquement fort, c.-à-d. sécurisé pour être utilisé avec GPG, les mots
de passe, etc. true s'il l'est, false sinon.
Retourne la chaîne d'octets générée.
openssl_random_pseudo_bytes() lance une Exception en cas d'échec.
| Version | Description |
|---|---|
| 8.0.0 |
strong_result est désormais nullable.
|
| 7.4.0 |
La fonction ne retourne plus false en cas d'échec, mais lance une Exception à la place.
|
Exemple #1 Exemple openssl_random_pseudo_bytes()
<?php
for ($i = 1; $i <= 4; $i++) {
$bytes = openssl_random_pseudo_bytes($i, $cstrong);
$hex = bin2hex($bytes);
echo "Longueur : Octets : $i et Hex: " . strlen($hex) . PHP_EOL;
var_dump($hex);
var_dump($cstrong);
echo PHP_EOL;
}
?>Résultat de l'exemple ci-dessus est similaire à :
Longueur : Octets : 1 et Hex: 2 string(2) "42" bool(true) Longueur : Octets : 2 et Hex: 4 string(4) "dc6e" bool(true) Longueur : Octets : 3 et Hex: 6 string(6) "288591" bool(true) Longueur : Octets : 4 et Hex: 8 string(8) "ab86d144" bool(true)