(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.
passwordMot de passe depuis lequel la clé dérivé est générée.
saltPBKDF2 recommande un sel cryptographique d'au moins 128 bits (16 octets).
key_lengthLongueur désirée de la clé de sortie.
iterationsLe 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_algoAlgorithme 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";
?>