(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 se 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, la longitud es menor o igual a 0, o la sal es demasiado grande (mayor que INT_MAX - 4).
Versión | Descripción |
---|---|
5.5.0 | Se añadió la función |
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 su lugar.