(PHP 5 >= 5.3.0, PHP 7, PHP 8)
openssl_random_pseudo_bytes — Génère une chaine pseudo-aléatoire d'octets
$length
, bool &$strong_result
= null
): string
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 chaine 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, i.e. sécurisé pour être utilisé avec GPG, les mots
de passe, etc. true
si il l'est, false
sinon.
Retourne la chaine 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)