(PHP 5 >= 5.5.0)
hash_pbkdf2 — Génère une clé PBKDF2 dérivée du mot de passe fourni
$algo
, string $password
, string $salt
, int $iterations
[, int $length
= 0
[, bool $raw_output
= false
]] )
algo
Nom de l'algorithme de hashage sélectionné (i.e. md5, sha256, haval160,4, etc..). Voir la fonction hash_algos() pour une liste des algorithmes supportés.
password
Le mot de passe à utiliser pour la dérivation.
salt
Le salt à utiliser pour la dérivation.
iterations
Le nombre d'itérations internes pour effectuer la dérivation.
length
La longueur de la clé dérivée à afficher. Si vaut 0, la longueur de l'algorithme choisi sera utilisé.
raw_output
Lorsque définit à TRUE
, la fonction affichera les données
binaires brutes. Si vaut FALSE
, l'affichage se fera
en minuscule.
Retourne une chaîne contenant la clé dérivée en minuscule,
à moins que le paramètre raw_output
ne
soit positionné à TRUE
auquel cas, la représentation binaire brute
de la clé dérivée sera retournée.
Une alerte de type E_WARNING
sera émise si
l'algorithme n'est pas connu, si le paramètre iterations
est inférieur ou égal à 0, si la longueur
length
est inférieure ou égale à 0
ou si le salt
est trop long
(plus grand que INT_MAX
- 4).
Exemple #1 Exemple avec hash_pbkdf2()
<?php
$password = "password";
$salt = "salt";
$hash = hash_pbkdf2("sha256", $password, $salt, 1, 20);
echo $hash;
?>
L'exemple ci-dessus va afficher :
120fb6cffcf8b32c43e7
La méthode PBKDF2 peut être utilisée pour hasher des mots de passe
pour le stockage (elle est approuvée pour cette utilisation).
Cependant, vous devez garder à l'esprit que
CRYPT_BLOWFISH
est meilleur pour cet usage et
nous vous recommandons de l'utiliser au lieu de la fonction
crypt().