openssl_random_pseudo_bytes

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_random_pseudo_bytesGénère une chaine pseudo-aléatoire d'octets

Description

openssl_random_pseudo_bytes(int $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.

Liste de paramètres

length

La taille désirée pour la chaine d'octets. Un entier positif est demandé. 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.

Valeurs de retour

Retourne la chaine d'octets générée en cas de succès, ou false si une erreur survient.

Historique

Version Description
8.0.0 strong_result est désormais nullable.

Exemples

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)

Voir aussi

  • random_bytes() - Génère des octets pseudo-aléatoire cryptographiquement sécurisé
  • bin2hex() - Convertit des données binaires en représentation hexadécimale
  • crypt() - Hachage à sens unique (indéchiffrable)
  • mt_rand() - Génère une valeur aléatoire via le générateur de nombre aléatoire Mersenne Twister
  • uniqid() - Génère un identifiant unique