Hashes/Cripto

PBKDF2 Hash + Verify

Deriva una clave con PBKDF2 (RFC 8018) a partir de una contraseña, HMAC-SHA1/256/384/512, con un número de iteraciones configurable.


                    

PBKDF2 (RFC 8018) applies HMAC to a password and salt repeatedly to deliberately slow down computation — it's the oldest of the standardized algorithms for password hashing and encryption key derivation.

How to use it

Common uses

Things to keep in mind

Unlike bcrypt and Argon2, PBKDF2 isn't memory-hard — it only requires CPU time, so it's less resistant to attacks on GPUs with many parallel compute units.

The recommended iteration count rises over time in NIST and OWASP guidance as hardware gets faster — check against current recommendations periodically.

Artículo sobre esta herramienta: PBKDF2: el estándar de estiramiento de claves más antiguo

Preguntas frecuentes

¿En qué se diferencia PBKDF2 de bcrypt o Argon2 para el hash de contraseñas?

PBKDF2 aplica repetidamente una función hash HMAC para ralentizar la fuerza bruta, pero, a diferencia de bcrypt o Argon2, no exige memoria, por lo que resulta comparativamente más barato de crackear con GPU. Sigue siendo ampliamente usado y aprobado por FIPS, pero Argon2 suele preferirse para sistemas nuevos.

¿Qué controla el número de iteraciones y qué tan alto debería ser?

El número de iteraciones fija cuántas veces se aplica el hash subyacente, intercambiando directamente velocidad por resistencia a la fuerza bruta. Las recomendaciones actuales sugieren cientos de miles de iteraciones para SHA-256, ajustándose al alza con el tiempo a medida que el hardware mejora.

¿Por qué PBKDF2 necesita una sal?

Una sal garantiza que contraseñas idénticas produzcan resultados distintos, impidiendo que los atacantes usen tablas rainbow precalculadas y obligándolos a atacar cada hash individualmente.

¿Importa qué función hash base usa PBKDF2?

Sí. Las implementaciones antiguas solían usar HMAC-SHA1 por defecto — dentro de la construcción HMAC esto no es una vulnerabilidad crítica, pero las recomendaciones actuales aconsejan claramente HMAC-SHA256 o algo más fuerte, por un mayor margen de seguridad sin pérdida apreciable de velocidad.

¿Dónde más se usa PBKDF2, aparte de para almacenar contraseñas?

PBKDF2 se usa ampliamente para derivar claves criptográficas de cifrado a partir de contraseñas — por ejemplo, en WPA2/WPA3 para Wi-Fi y en muchos formatos de contenedores de archivos cifrados.

Artículos: Hashes/Cripto

Hash Generator: en qué se diferencian MD5, SHA-1 y SHA-256

Por qué MD5 todavía se usa para verificar la integridad de archivos, pero no para contraseñas.

Checksum Verifier: cómo comprobar que un archivo no está dañado

Por qué una suma de comprobación coincidente confirma la integridad de un archivo, pero no quién lo creó.

HMAC: en qué se diferencia un hash con clave de un hash normal

Por qué un SHA-256 normal no protege contra la manipulación de un mensaje, pero HMAC sí.

Bcrypt: por qué las contraseñas se hashean lento y no rápido

Por qué un SHA-256 rápido es una mala elección para contraseñas, y un bcrypt lento es la correcta.

UUID: cómo se generan identificadores que casi nunca se repiten

Por qué se puede generar un UUID v4 de forma independiente en millones de máquinas sin riesgo de colisión.

Generador de contraseñas: qué es lo que realmente la hace fuerte

Por qué una contraseña larga hecha de palabras del diccionario es más fuerte que una corta con símbolos y números.

AES: cómo funciona el cifrado simétrico

Por qué la misma clave cifra y descifra los datos en AES, y en qué se diferencia del cifrado asimétrico.

Argon2: por qué este algoritmo ganó el concurso de hasheo de contraseñas

Cómo Argon2 defiende mejor contra ataques con GPU que los algoritmos de hasheo de contraseñas más antiguos.

Scrypt: por qué el algoritmo necesita tanta memoria

Por qué scrypt exige deliberadamente mucha memoria para dificultar el ataque en dispositivos ASIC.

TOTP: cómo funcionan los códigos de un solo uso en las apps de autenticación

Por qué el código de Google Authenticator funciona sin internet y se sincroniza con el servidor solo por la hora.

X.509: qué hay dentro de un certificado SSL

Qué comprueba exactamente el navegador en el certificado de un sitio antes de mostrar el candado verde.

PGP: cómo funciona el cifrado con clave pública y privada

Por qué se puede compartir libremente una clave pública PGP, pero nunca la privada.