Generador de claves PBKDF2

Escribe una contraseña y una sal, elige el hash, el número de iteraciones y la longitud de la clave, y obtén la clave derivada en hex o Base64. El cálculo lo hace Web Crypto del navegador, así que la contraseña no sale de esta página.

Formato de la sal
Más iteraciones hacen más lento el ataque. OWASP sugiere 600.000 para SHA-256, 210.000 para SHA-512 y 1.300.000 para SHA-1.
Salida

Calculando…

Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.

Cómo se usa

  1. Escribe la contraseña y la sal. El botón «Sal aleatoria de 16 bytes» crea una en el navegador y la escribe en hex.
  2. Elige el hash, las iteraciones y la longitud de la clave.
  3. Copia la clave derivada en hex o Base64. La línea de debajo muestra cuánto tardó el cálculo.

Cómo funciona

PBKDF2 construye la clave bloque a bloque. Para el bloque i: U₁ = HMAC(contraseña, sal ‖ INT(i)), U₂ = HMAC(contraseña, U₁)… hasta el número de iteraciones, y el bloque es U₁ ⊕ U₂ ⊕ … ⊕ Uₙ. Los bloques se concatenan y se recortan a la longitud pedida. La herramienta llama a crypto.subtle.deriveBits con PBKDF2, así que el cálculo lo hace la implementación propia del navegador. Las iteraciones se pueden escribir con separadores: 600.000.

Ejemplo

Vectores de prueba del RFC 6070 (HMAC-SHA-1, contraseña password, sal salt, 20 bytes):

  • 1 iteración: 0c60c80f961f0e71f3a9b524af6012062fe037a6
  • 2 iteraciones: ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957
  • 4096 iteraciones: 4b007901b765489abead49d926f721d065a429c1

Con SHA-256, 1 iteración y 32 bytes, la misma entrada da 120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b.

Consejos

  • Guarda con cada clave el hash, las iteraciones, la sal y la longitud: sin ellos no se puede comprobar.
  • Sube las iteraciones con el tiempo, a medida que el hardware se acelera, y recalcula el hash cuando el usuario vuelva a entrar.
  • No uses la misma clave derivada para varios fines; deriva claves separadas con sales distintas o usa HKDF.

Preguntas frecuentes

¿Qué es PBKDF2?

Password-Based Key Derivation Function 2, función de derivación de claves a partir de contraseñas definida en el RFC 8018. Aplica miles de veces una función pseudoaleatoria —normalmente HMAC con un hash SHA— a la contraseña y la sal, de modo que cada intento cuesta al atacante el mismo trabajo.

¿Cuántas iteraciones debo usar?

Tantas como tu sistema pueda permitirse en cada inicio de sesión. La guía de OWASP sobre almacenamiento de contraseñas sugiere 600.000 iteraciones para PBKDF2-HMAC-SHA-256, 210.000 para SHA-512 y 1.300.000 para SHA-1. El tiempo que aparece bajo el resultado ayuda a decidir.

¿Para qué sirve la sal?

Una sal aleatoria y única por contraseña hace que contraseñas iguales den claves distintas e inutiliza las tablas precalculadas. La sal se guarda junto al hash y no tiene que ser secreta. Un tamaño habitual son 16 bytes aleatorios.

¿Qué longitud de clave elijo?

Lo natural es el tamaño de salida del hash: 20 bytes para SHA-1, 32 para SHA-256, 64 para SHA-512. Se puede pedir más, pero cuesta rondas extra sin hacer más difícil adivinar la contraseña.

¿PBKDF2 u otra cosa para contraseñas?

PBKDF2 está muy extendido y aprobado por FIPS. Las funciones que consumen mucha memoria, como Argon2id o scrypt, resisten mejor los ataques con GPU y son preferibles cuando están disponibles; bcrypt también es habitual.

Más en Desarrollo

Todas las herramientas de la categoría: Desarrollo ·Actualizado el 4 de noviembre de 2026

Opciones de privacidad

Google Analytics nos muestra qué herramientas se usan y si funcionan. Puede usar cookies. Tu elección se guarda en este navegador.