hash_pbkdf2
(PHP 5 >= 5.5.0)
hash_pbkdf2 — Genera una derivación de clave PBKDF2 de una contraseña proporcionada
Descripción
$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.FALSEgenera 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, $sal, 1, 20);
echo $hash;
?>
El resultado del ejemplo sería:
120fb6cffcf8b32c43e7
Notas
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
- crypt() - Hashing de una sola vía de un string
- hash() - Genera un valor cifrado en base a un string
- hash_algos() - Devuelve una lista con los algoritmos de cifrado soportados
- hash_init() - Inicializa un contexto incremental para cifrar
- hash_hmac() - Genera un valor cifrado mediante una clave especificada usando el método HMAC
- hash_hmac_file() - Genera un valor cifrado mediante una clave especificada usando el método HMAC y el contenido de un fichero dado
