La función hash_pbkdf2() es una función incorporada en PHP que se utiliza para generar una derivación de clave PBKDF2 de una contraseña proporcionada.
Sintaxis:
string hash_pbkdf2( $algo, $pass, $salt, $itr, $len, $raw_opt )
Parámetros: esta función acepta seis parámetros como se menciona arriba y se describe a continuación.
- $algo: Es el parámetro requerido que especifica el algoritmo hash seleccionado (como- “md5”, “sha256”, “sha1”).
- $pass: Este parámetro se utiliza para especificar la contraseña a utilizar para la derivación.
- $salt: este parámetro se usa para la derivación y el valor debe generarse aleatoriamente.
- $itr: este parámetro cuenta el número de iteraciones internas.
- $len: este parámetro se utiliza para contener la longitud de la string de salida.
- $raw_opt: si este parámetro se establece en True, su salida serán datos binarios sin procesar y si este parámetro se establece en false, la salida será hexadecimal en minúsculas.
Valor devuelto: esta función devuelve la string que contiene el resumen del mensaje calculado como hexadecimal en minúsculas.
Los siguientes programas ilustran la función hash_pbkdf2() en PHP:
Programa 1:
<?php $gfg = "GeeksforGeeks"; $iterations = 142; // Generate a random IV using // openssl_random_pseudo_bytes() // random_bytes() or another // suitable source of randomness. $salt = openssl_random_pseudo_bytes(16); // Using hash_pbkdf2 function $hash = hash_pbkdf2("md5", $gfg, $salt, $iterations, 30); // Display result echo $hash; ?>
Producción:
f0ebbbf59869d76f946c4b15340761
Programa 2:
<?php $gfg = "Contribute1234"; $iterations = 100; // Generate a random IV using // openssl_random_pseudo_bytes() // random_bytes() or another // suitable source of randomness. $salt = openssl_random_pseudo_bytes(8); // Using hash_pbkdf2 function $hash = hash_pbkdf2("md5", $gfg, $salt, $iterations, 20, false); // Display result echo $hash; ?>
Producción:
715b385158045923923c
Referencia: http://php.net/manual/en/function.hash-pbkdf2.php