hash_pbkdf2
(PHP 5 >= 5.5.0)
hash_pbkdf2 — Génère une clé PBKDF2 dérivée du mot de passe fourni
Description
$algo
, string $password
, string $salt
, int $iterations
[, int $length
= 0
[, bool $raw_output
= false
]] )Liste de paramètres
-
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 vautFALSE
, l'affichage se fera en minuscule.
Valeurs de retour
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.
Erreurs / Exceptions
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).
Exemples
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
Notes
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().
Voir aussi
- crypt() - Hachage à sens unique (indéchiffrable)
- hash() - Génère une valeur de hachage (empreinte numérique)
- hash_algos() - Retourne une liste des algorithmes de hachage enregistrés
- hash_init() - Initialise un contexte de hachage incrémental
- hash_hmac() - Génère une valeur de clé de hachage en utilisant la méthode HMAC
- hash_hmac_file() - Génère une valeur de clé de hachage en utilisant la méthode HMAC et le contenu d'un fichier donné