Ir al contenido principal
Seguridad y privacidad

PBKDF2: hash y verificación de contraseña

Calcula un hash PBKDF2 con sal aleatoria, SHA-256 o SHA-512 y el número de iteraciones recomendado por OWASP, en formato pbkdf2-sha256$…, y verifica una contraseña contra él. Proceso local.

  • Portapapeles

Integrar este widget

Personaliza el aspecto, comprueba la vista previa y copia el código.

Vista previa

Tipo de código de integración

Código para copiar

Se adapta a tu página y Bethemesh ajusta su tamaño automáticamente.

OWASP recomienda 600.000 iteraciones para SHA-256 y 210.000 para SHA-512: cuantas más haya, más cuesta cada intento de un atacante.

¿Te ha resultado útil esta herramienta?

¿Cómo funciona esta herramienta?

Esta herramienta deriva un hash PBKDF2 de una contraseña con una sal aleatoria y el número de iteraciones recomendado, y verifica una contraseña contra un valor ya codificado. Está pensada para desarrolladores que implementan o depuran el almacenamiento de contraseñas, preparan una cuenta de prueba o quieren entender el efecto de la sal y las iteraciones.

PBKDF2, definido en la RFC 8018 (PKCS #5 v2.1), aplica una función HMAC a la contraseña y a la sal y vuelve a pasar el resultado por HMAC cientos de miles de veces: así, cada intento de un atacante cuesta tanto como un inicio de sesión legítimo. La herramienta ofrece HMAC-SHA-256 con 600.000 iteraciones por defecto y HMAC-SHA-512 con 210.000, los mínimos de la OWASP Password Storage Cheat Sheet. La sal aleatoria (de 8 a 128 bytes, 16 por defecto) hace que cada hash sea único aunque dos usuarios tengan la misma contraseña, lo que anula las tablas arcoíris. La longitud de la clave derivada va de 16 a 128 bytes, 32 por defecto; como referencia, PBKDF2-HMAC-SHA-256 de «password» con la sal «salt», 1 iteración y 32 bytes da 120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b.

El resultado se codifica en una línea: pbkdf2-sha256$600000$<sal>$<hash>, con la sal y el hash en Base64URL. Esta cadena contiene todo lo necesario para verificar después una contraseña: algoritmo, iteraciones, sal y resumen esperado. En modo verificación, la herramienta lee estos parámetros, recalcula la derivación con la contraseña introducida y compara ambos resúmenes en tiempo constante, para que la duración no revele en qué byte difieren. El cálculo usa la API Web Crypto (deriveBits), así que la contraseña nunca sale de tu dispositivo.

Cómo utilizar esta herramienta

  1. Introduce la contraseña y los parámetros

    Escribe la contraseña, elige SHA-256 o SHA-512 y ajusta si hace falta el tamaño de la sal, el número de iteraciones y la longitud de la clave.

  2. Deriva el hash

    La herramienta genera una sal aleatoria, calcula PBKDF2 y muestra el valor codificado pbkdf2-sha256$iteraciones$sal$hash, listo para copiar.

  3. Verifica una contraseña

    Pega un valor codificado existente y la contraseña que quieres probar: el resultado indica si coincide, con el algoritmo y las iteraciones leídos del valor.

Casos de uso

Crear el hash de una cuenta de administrador de prueba

Genera un valor pbkdf2-sha256$… para insertar un usuario directamente en una base de datos de desarrollo o en un archivo de seed, sin escribir ningún script.

Depurar un inicio de sesión que falla

Pega el hash guardado en la base de datos y la contraseña supuesta: la herramienta te dice si coinciden, así sabrás si el problema está en la contraseña o en el código de verificación.

Medir el coste de las iteraciones

Compara el tiempo de cálculo con 210.000 o 600.000 iteraciones en tu equipo para elegir un ajuste que siga siendo cómodo al iniciar sesión y frene los ataques sin conexión.

Consejos y buenas prácticas

  • No bajes de las iteraciones recomendadas para ganar unos milisegundos: 600.000 con SHA-256 y 210.000 con SHA-512 son mínimos, que conviene subir con regularidad a medida que avanza el hardware.
  • No tiene sentido superar 32 bytes de clave con SHA-256 o 64 con SHA-512: por encima, PBKDF2 calcula un segundo bloque completo, lo que duplica tu coste sin frenar a un atacante, que solo necesita el primer bloque para probar una contraseña.
  • El formato pbkdf2-sha256$… se parece a los de Django, passlib o Werkzeug, pero no es idéntico: los separadores y la codificación de la sal y el hash cambian, así que comprueba el formato que espera tu biblioteca antes de importar un valor.

Preguntas frecuentes

¿Sigue siendo seguro PBKDF2 en 2026?

Sí, siempre que uses un número de iteraciones alto y una sal única. Su punto débil es que no consume memoria, lo que facilita acelerarlo con GPU frente a Argon2id o scrypt. Por eso OWASP recomienda Argon2id como primera opción y PBKDF2 sobre todo cuando se exige cumplir FIPS-140.

¿Qué diferencia hay entre PBKDF2, bcrypt y Argon2?

Los tres son funciones lentas diseñadas para contraseñas. PBKDF2 solo ajusta el tiempo de cálculo; bcrypt añade algo de memoria pero trunca las contraseñas a 72 bytes; Argon2id, ganador de la Password Hashing Competition, ajusta tiempo y memoria. La ventaja de PBKDF2 es que está disponible en todas partes, incluidos Web Crypto y los módulos validados FIPS.

¿Cuántas iteraciones de PBKDF2 hay que usar?

La OWASP Password Storage Cheat Sheet recomienda al menos 600.000 iteraciones para PBKDF2-HMAC-SHA256 y 210.000 para PBKDF2-HMAC-SHA512. El NIST SP 800-63B pide simplemente un coste tan alto como permita el rendimiento del servidor. En la práctica, apunta a unos 100 ms de cálculo por inicio de sesión en tu servidor.

¿La sal tiene que ser secreta?

No, la sal se guarda en claro junto al hash, que es justo lo que hace el valor pbkdf2-sha256$… Su función es ser única y aleatoria para cada contraseña, para impedir las tablas precalculadas y ocultar que dos usuarios comparten contraseña. Un secreto adicional guardado fuera de la base de datos, llamado pimienta, es una protección distinta y opcional.

¿Se puede recuperar la contraseña a partir de un hash PBKDF2?

No, PBKDF2 es unidireccional: un atacante solo puede adivinar contraseñas y recalcular la derivación para cada una. Las iteraciones encarecen cada intento, pero una contraseña común se encontrará igualmente rápido. La robustez final depende también de la calidad de la contraseña.

¿Puedo escribir una contraseña real en esta herramienta?

El cálculo se hace solo en tu navegador con Web Crypto: ni la contraseña ni el hash se envían a ningún sitio. Aun así, por prudencia, usa una contraseña de prueba cuando generes ejemplos o compartas una captura de pantalla.

Herramientas relacionadas

Herramientas similares o complementarias a esta.

Funciona bien con

Genera contraseñas seguras y aleatorias de 8 a 128 caracteres, con la entropía indicada.

Seguridad y privacidadDestacadaUsar esta herramienta

Comprueba la seguridad de una contraseña: entropía, patrones débiles, tiempo para descubrir la contraseña y consejos.

Seguridad y privacidadDestacadaUsar esta herramienta

Comprueba si dos hash o sumas de verificación coinciden, sin importar mayúsculas, espacios ni dos puntos.

Seguridad y privacidadUsar esta herramienta