(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_resultest désormais nullable. | 
| 7.4.0 | La fonction ne retourne plus falseen 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)