Laboratorio PBKDF2
Deriva claves con PBKDF2-HMAC-SHA-1/256/512 usando tu sal, iteraciones y longitud de clave. Salida hex, Base64 y passlib, verificada con los vectores del RFC 6070.
PBKDF2 (RFC 8018) se calcula con la Web Crypto API del navegador. OWASP recomienda 600.000 iteraciones para HMAC-SHA-256 y 210.000 para HMAC-SHA-512. PBKDF2 no es resistente a memoria, así que prefiere Argon2id en sistemas nuevos.
Verificar una contraseña con un hash
Se ejecuta completamente en tu navegador. Tus datos nunca se suben.
¿Qué es Laboratorio PBKDF2?
Calcula PBKDF2 (RFC 8018) con HMAC-SHA-1, SHA-256 o SHA-512, cualquier número de iteraciones, sal y longitud de salida. Los resultados se muestran en hexadecimal, Base64 y formato passlib $pbkdf2-sha256$, y el verificador también acepta hashes pbkdf2_sha256$ de Django.
Cómo usar Laboratorio PBKDF2
- Introduce la Contraseña.
- Elige la Función hash (PRF), las Iteraciones y la Longitud de la clave (bytes).
- Introduce una Sal y su codificación, o déjala vacía para usar una sal aleatoria.
- Haz clic en Calcular hash y copia el resultado en hex, Base64 o codificado.
Ejemplo
Password password, salt salt, HMAC-SHA-1, 4096 iterations, 20 bytes
4b007901b765489abead49d926f721d065a429c1 $pbkdf2-sha1$4096$c2FsdA$SwB5AbdlSJq.rUnZJvch0GWkKcE
El valor hexadecimal es el vector de prueba 3 del RFC 6070.
Cuándo usar Laboratorio PBKDF2
Úsalo para derivar claves de prueba, reproducir vectores del RFC 6070 o verificar hashes de Django y passlib. Para almacenar contraseñas nuevas, es preferible Argon2id o scrypt, que son resistentes a memoria.
Cómo funciona Laboratorio PBKDF2
PBKDF2 calcula bloques T_i = U_1 ⊕ U_2 ⊕ … ⊕ U_c, donde U_1 = HMAC(contraseña, sal ‖ INT(i)) y U_j = HMAC(contraseña, U_{j−1}), y los concatena hasta la longitud pedida. La Web Crypto API del navegador (deriveBits) realiza el cálculo. El formato passlib guarda las iteraciones, la sal y el hash en Base64 adaptado (+ sustituido por .).
Casos de Uso Comunes
- Verificar un hash pbkdf2_sha256 de Django durante una migración
- Reproducir vectores de prueba del RFC 6070
- Derivar claves AES de una frase de contraseña para pruebas
- Comparar números de iteraciones y tiempos
Preguntas Frecuentes
¿Cuántas iteraciones debo usar?
OWASP recomienda 600.000 para HMAC-SHA-256, 210.000 para HMAC-SHA-512 y 1.300.000 para HMAC-SHA-1.
¿Sigue siendo aceptable PBKDF2?
Sí, sobre todo cuando se exige validación FIPS, pero no es resistente a memoria, así que las GPU lo rompen más rápido que Argon2id o scrypt.
¿Por qué importa la longitud de la clave?
Pedir más bytes que la salida del hash (p. ej. más de 32 con SHA-256) obliga a PBKDF2 a calcular bloques adicionales, lo que multiplica el coste del defensor sin frenar a los atacantes.