(PHP 5 >= 5.5.0, PHP 7, PHP 8)
openssl_pbkdf2 — Génère une chaîne PKCS5 v2 PBKDF2
$password
,$salt
,$key_length
,$iterations
,$digest_algo
= "sha1"openssl_pbkdf2() calcule PBKDF2 (Password-Based Key Derivation Function 2), une fonction de dérivation de clé définit dans PKCS5 v2.
password
Mot de passe depuis lequel la clé dérivé est générée.
salt
PBKDF2 recommande un sel cryptographique d'au moins 128 bits (16 octets).
key_length
Longueur désirée de la clé de sortie.
iterations
Le nombre d'itérations désiré. » Le NIST recommande au moins 1 000. À partir de 2023, l'OWASP recommande 600 000 itérations pour PBKDF2-HMAC-SHA256 et 210 000 pour PBKDF2-HMAC-SHA512.
digest_algo
Algorithme de hachage ou de digest optionnel à partir de openssl_get_md_methods(). Par défaut SHA-1. Il est recommandé de le définir sur SHA-256 ou SHA-512.
Retourne une chaîne binaire brute ou false
si une erreur survient.
Exemple #1 Exemple avec openssl_pbkdf2()
<?php
$password = 'password';
$salt = openssl_random_pseudo_bytes(16);
$keyLength = 20;
$iterations = 600000;
$generated_key = openssl_pbkdf2($password, $salt, $keyLength, $iterations, 'sha256');
echo bin2hex($generated_key)."\n";
echo base64_encode($generated_key)."\n";
?>