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.
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.
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.
Contiene algoritmo, iteraciones, sal y hash: todo lo necesario para verificar más tarde.
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.
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.
La herramienta genera una sal aleatoria, calcula PBKDF2 y muestra el valor codificado pbkdf2-sha256$iteraciones$sal$hash, listo para copiar.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Genera contraseñas seguras y aleatorias de 8 a 128 caracteres, con la entropía indicada.
Comprueba la seguridad de una contraseña: entropía, patrones débiles, tiempo para descubrir la contraseña y consejos.
Comprueba si dos hash o sumas de verificación coinciden, sin importar mayúsculas, espacios ni dos puntos.
Aprende cuándo utilizar cifrado, hashing, HMAC o PBKDF2 para confidencialidad, integridad, autenticación y contraseñas.
Aprende a implantar una CSP de forma progresiva, sus directivas principales, Report-Only, nonces y errores frecuentes.
Comprende cómo los hashes SRI detectan cambios inesperados en scripts y hojas de estilo externos y cuáles son sus límites.