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. 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.

Valeurs de retour

Retourne la chaine d'octets générée.

Erreurs / Exceptions

openssl_random_pseudo_bytes() lance une Exception en cas d'échec.

Historique

VersionDescription
8.0.0strong_result est désormais nullable.
7.4.0 La fonction ne retourne plus false en cas d'échec, mais lance une Exception à la place.

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() - Récupère des octets aléatoires cryptographiquement sécurisés
  • bin2hex() - Convertit des données binaires en représentation hexadécimale
  • crypt() - Hachage à sens unique (indéchiffrable)
  • random_int() - Récupère un entier sélectionné de manière uniforme et cryptographiquement sécurisée
To Top