(PHP 5 >= 5.5.0)
hash_pbkdf2 — Genera una derivación de clave PBKDF2 de una contraseña proporcionada
$algo
, string $password
, string $salt
, int $iterations
[, int $length
= 0
[, bool $raw_output
= false
]] )
algo
El nombre del algoritmo hash seleccionado (esto es, "md5", "sha256", "haval160,4", etc.). Véase hash_algos() para una lista de los algoritmos admitidos.
password
La contraseña a usar para la derivación.
salt
La sal a usar para la derivación.
iterations
El número de iteraciones internas para realizar la derivación.
length
La longitud de la clave derivada a generar. Si es 0, se usa la longitud del algoritmo proporcionado.
raw_output
Cuando se establece a TRUE
, genera datos binarios sin tratar.
FALSE
genera hexits en minúsculas.
Devuelve un string que contiene la clave derivada como hexits en minúsculas,
a menos que raw_output
sea establecido a true, en cuyo caso
devuelve la represetación binaria de la clave derivada.
Se emitirá un E_WARNING
si el algoritmo es
desconocido, el parámetro iterations
es menor o
igual a 0, el parámetro length
es menor
que 0 o el parámetro salt
es demasiado grande
(mayor que INT_MAX
- 4).
Ejemplo #1 Ejemplo de uso básico de hash_pbkdf2()
<?php
$contraseña = "contraseña";
$sal = "salt";
$hash = hash_pbkdf2("sha256", $contraseña, $sal, 1, 20);
echo $hash;
?>
El resultado del ejemplo sería:
120fb6cffcf8b32c43e7
El método PBKDF2 se puede usar para el almacenamiento de contraseñas de hash (está
aprovado por el NIST para tal uso). Sin embargo, se debería observar que
CRYPT_BLOWFISH
es más conveniente para el almacenamiento de contraseñas,
por lo que debería usarse en vez de mediante crypt().