(PHP 5 >= 5.3.0, PHP 7, PHP 8)
openssl_random_pseudo_bytes — Génère une chaine 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 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)