(PHP 5 >= 5.5.0, PHP 7, PHP 8)
openssl_pbkdf2 — Genera una cadena PKCS5 v2 PBKDF2
$password,$salt,$key_length,$iterations,$digest_algo = "sha1"openssl_pbkdf2() calcula PBKDF2 (Password-Based Key Derivation Function 2), una función de derivación de clave definida en PKCS5 v2.
passwordContraseña desde la cual se genera la clave derivada.
saltPBKDF2 recomienda un sal criptográfico de al menos 128 bits (16 octetos).
key_lengthLongitud deseada de la clave de salida.
iterationsEl número de iteraciones deseado. » El NIST recomienda al menos 1 000. A partir de 2023, el OWASP recomienda 600 000 iteraciones para PBKDF2-HMAC-SHA256 y 210 000 para PBKDF2-HMAC-SHA512.
digest_algoAlgoritmo de hash o digest opcional a partir de openssl_get_md_methods(). Por omisión SHA-1. Se recomienda definirlo en SHA-256 o SHA-512.
Devuelve una cadena binaria sin tratar o false si ocurre un error.
Ejemplo #1 Ejemplo con openssl_pbkdf2()
<?php
$password = 'password';
$salt = openssl_random_pseudo_bytes(16);
$keyLength = 20;
$iterations = 600000;
$generated_key = openssl_pbkdf2($password, $salt, $keyLength, $iterations, 'sha256');
echo bin2hex($generated_key)."\n";
echo base64_encode($generated_key)."\n";
?>