Funciones de hash
PHP Manual

hash_pbkdf2

(PHP 5 >= 5.5.0)

hash_pbkdf2Genera una derivación de clave PBKDF2 de una contraseña proporcionada

Descripción

string hash_pbkdf2 ( string $algo , string $password , string $salt , int $iterations [, int $length = 0 [, bool $raw_output = false ]] )

Parámetros

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.

Valores devueltos

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.

Errores/Excepciones

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).

Ejemplos

Ejemplo #1 Ejemplo de uso básico de hash_pbkdf2()

<?php
$contraseña 
"contraseña";
$sal "salt";
$hash hash_pbkdf2("sha256"$contraseña$sal120);
echo 
$hash;
?>

El resultado del ejemplo sería:

120fb6cffcf8b32c43e7

Notas

Precaución

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().

Ver también


Funciones de hash
PHP Manual