PBKDF2 Generador de Hash

Herramienta gratuita de PBKDF2 Generador de Hash en línea. Procesamiento 100% local — tus datos nunca salen de tu dispositivo.

General
Password Hashing / KDF
Specialized
Deprecated
bytes
Salida

El resultado se mostrará aquí...

Entrada Calcular Hash

Usage Guide

Acerca de PBKDF2

PBKDF2 (Función de Derivación de Claves Basada en Contraseña 2) es una función de derivación de claves estandarizada en RFC 8018 (PKCS#5) y NIST SP 800-132. A diferencia de una función hash simple, PBKDF2 fue diseñada específicamente para derivar una clave criptográfica de una contraseña aplicando una función pseudoaleatoria (HMAC-SHA256 o HMAC-SHA512) cientos de miles de veces. Esto hace que los ataques de fuerza bruta sean computacionalmente costosos. PBKDF2 cumple con FIPS 140-2 y se usa ampliamente en cifrado de disco LUKS, Wi-Fi WPA2/WPA3, almacenamiento seguro de iOS/Android y gestores de contraseñas.

Cumplimiento FIPS 140-2: PBKDF2 es la única KDF basada en contraseñas aprobada bajo FIPS 140-2 y NIST SP 800-132, siendo la opción requerida para entornos gubernamentales de EE.UU., salud (HIPAA) y finanzas (PCI-DSS). OWASP 2023 recomienda 600.000 iteraciones para PBKDF2-HMAC-SHA256 y 210.000 para PBKDF2-HMAC-SHA512.

Pasos de uso

Esta herramienta admite dos operaciones: derivar una clave (modo Cifrar) y verificar una contraseña (modo Descifrar):

1. Modo derivación (Cifrar)Seleccione el modo 'Cifrar', ingrese la contraseña, configure los parámetros (algoritmo, iteraciones, longitud de clave, sal) y haga clic en 'Calcular Hash'
2. Obtener la salidaEl resultado es una cadena hash completa en el formato: {iteraciones}:{algoritmo}:{sal_base64}:{clave_derivada_hex}
3. Modo verificación (Descifrar)Seleccione el modo 'Descifrar' e ingrese: contraseña|{iteraciones}:{algoritmo}:{sal_base64}:{clave_derivada_hex}
4. Verificar resultadoDevuelve '✓ Password verified' si la contraseña coincide, o un mensaje de error si no coincide
5. Sal automáticaDeje el campo de sal vacío para generar automáticamente una sal aleatoria de 16 bytes criptográficamente segura
Protección de privacidad: Todos los cálculos de PBKDF2 se ejecutan completamente en su navegador. No se envían datos a ningún servidor — procesamiento completamente sin conexión.

Guía de parámetros

PBKDF2 tiene cuatro parámetros clave que controlan la seguridad y la salida de la clave derivada:

Algoritmo hashSHA-256 (predeterminado) o SHA-512 — SHA-512 ofrece mayor margen de seguridad pero requiere menos iteraciones (210k vs. 600k)
IteracionesNúmero de rondas HMAC. OWASP 2023: 600.000 para SHA-256, 210.000 para SHA-512. Más = más lento = más seguro contra fuerza bruta
Longitud de claveLongitud de salida en bytes (1–256). El valor predeterminado es 32 bytes (256 bits), adecuado para derivación de claves AES-256
SalValor aleatorio codificado en Base64. Se genera automáticamente (16 bytes aleatorios) si se deja vacío. Debe almacenarse junto con la clave derivada
Advertencia sobre el conteo de iteraciones: Usar muy pocas iteraciones debilita gravemente PBKDF2. Las GPU modernas pueden calcular millones de iteraciones PBKDF2-SHA256 por segundo. Siga siempre las recomendaciones actuales de OWASP (600k para SHA-256) y aumente con el tiempo. Nunca use valores inferiores a 100.000 para almacenamiento de contraseñas.

PBKDF2 vs. Argon2 / bcrypt

Entendiendo cuándo elegir PBKDF2 sobre otros algoritmos de hash de contraseñas:

PBKDF2Cumple FIPS 140-2, estandarizado, ampliamente soportado. NO es resistente a memoria — paralelizable con GPU. Requiere iteraciones muy altas (≥600k)
Argon2idModerno (2015), resistente a memoria (resistente a GPU/ASIC), preferencia OWASP para almacenamiento general. No aprobado por FIPS
bcryptClásico (1999), resistente a cómputo (~4KB memoria), resistente a GPU pero menos que Argon2. No apto para derivación de claves
scryptResistente a memoria como Argon2, usado en derivación de claves Bitcoin y LUKS2. Tampoco aprobado por FIPS
Cuándo elegir PBKDF2: Use PBKDF2 cuando se requiera cumplimiento FIPS 140-2 o cuando Argon2 no esté disponible (p. ej., sistemas heredados, dispositivos embebidos). Para todos los demás proyectos nuevos, prefiera Argon2id por su superior resistencia a la memoria.

FAQ

Q: ¿Cuál es el formato de salida de PBKDF2?

A: Esta herramienta genera una cadena hash autónoma: {iteraciones}:{algoritmo}:{sal_base64}:{clave_derivada_hex}.
Por ejemplo: 600000:sha256:abc123...==:d4e5f6....
Componentes:
iteraciones: Número de rondas HMAC utilizadas (p. ej., 600000).
algoritmo: Función hash (sha256 o sha512).
sal_base64: Sal aleatoria codificada en Base64.
clave_derivada_hex: Clave derivada codificada en hexadecimal.
Para verificar, ingrese en modo Descifrar: contraseña|{cadena hash completa}.

Q: ¿Por qué PBKDF2 necesita 600.000 iteraciones?

A: PBKDF2 no es resistente a la memoria — puede ser paralelizado en GPU de forma económica. Una GPU moderna puede calcular aproximadamente 1–2 mil millones de iteraciones PBKDF2-SHA256 por segundo. Con 600.000 iteraciones por hash, eso sigue siendo ~1.600 intentos de hash por segundo por GPU. El alto conteo de iteraciones es el mecanismo de defensa principal — multiplica directamente el costo del atacante. OWASP 2023 establece 600.000 como mínimo para SHA-256; use 210.000 para SHA-512. Aumente estos valores con el tiempo.

Q: ¿En qué se diferencia PBKDF2 de bcrypt o Argon2?

A: PBKDF2: Solo resistente a cómputo, no a memoria. Paralelizable con GPU. Aprobado por FIPS 140-2. Requiere iteraciones muy altas. Ideal para entornos regulados por FIPS. bcrypt: Resistente a cómputo, ~4KB de memoria, moderada resistencia a GPU. Límite de 72 bytes en contraseña. No puede derivar claves de longitud arbitraria. Argon2id: Resistente a memoria, resistente a GPU/ASIC, preferencia moderna de OWASP. No aprobado por FIPS. Rendimiento a seguridad equivalente: Argon2 es significativamente más rápido que PBKDF2 al mismo nivel de seguridad efectiva gracias a la resistencia a memoria.

Q: ¿PBKDF2 cumple con FIPS 140-2?

A: Sí. PBKDF2 está explícitamente definido en NIST SP 800-132 y aprobado bajo FIPS 140-2. Esto lo convierte en la opción obligatoria para agencias federales de EE.UU., contratistas, sistemas de salud sujetos a HIPAA y aplicaciones financieras con requisitos PCI-DSS. Argon2 y scrypt no están aprobados por FIPS. Si se requiere cumplimiento FIPS, PBKDF2 es actualmente la única opción ampliamente disponible. Verifique que su implementación de PBKDF2 use un módulo criptográfico validado por FIPS.

Q: ¿Por qué es importante la sal y debe almacenarse?

A: La sal es un valor aleatorio que se agrega a la contraseña antes del hashing para garantizar que dos contraseñas idénticas produzcan claves derivadas diferentes. Sin sal, los atacantes pueden usar tablas rainbow precalculadas para descifrar múltiples hashes simultáneamente. La sal no necesita ser secreta — solo necesita ser única por contraseña. La sal está incluida en la cadena de salida y debe almacenarse junto con la clave derivada para reproducir el mismo hash durante la verificación. Nunca reutilice sales entre contraseñas.

Q: ¿Cómo uso PBKDF2 para derivación de claves AES?

A: Establezca la longitud de clave en 32 bytes (256 bits) para derivar directamente una clave AES-256. Use 600.000 iteraciones con SHA-256. Almacene la sal junto con sus datos cifrados. Durante el descifrado, vuelva a derivar la clave con la misma contraseña, sal, iteraciones y algoritmo, luego úsela para descifrar con AES-256-GCM. Así es exactamente como funcionan el cifrado de disco LUKS, la protección de datos de iOS y muchos gestores de contraseñas. La clave derivada es determinista — las mismas entradas siempre producen la misma clave — por lo que proteger la contraseña y usar sales únicas es fundamental.

Use Cases

Recomendado: Almacenamiento de contraseñas con cumplimiento FIPS

Las organizaciones sujetas a FIPS 140-2, NIST SP 800-131A, HIPAA o PCI-DSS deben usar algoritmos criptográficos aprobados. PBKDF2 con HMAC-SHA256 o HMAC-SHA512 es la única KDF de contraseñas ampliamente disponible que cumple estos requisitos. Use al menos 600.000 iteraciones para SHA-256 y almacene la cadena de salida completa. Esta es la razón principal para elegir PBKDF2 sobre Argon2id en entornos regulados.

Recommended Configuration:
  • ✅ PBKDF2-HMAC-SHA256 (≥600.000 iteraciones) — cumple FIPS
  • ✅ PBKDF2-HMAC-SHA512 (≥210.000 iteraciones) — cumple FIPS
  • ❌ Argon2 / scrypt — no aprobados por FIPS 140-2
  • ❌ bcrypt — no aprobado por FIPS 140-2
Recomendado: Derivación de claves para cifrado de disco (LUKS)

LUKS (Linux Unified Key Setup) usa PBKDF2 por defecto (LUKS1) y PBKDF2/Argon2 (LUKS2) para derivar la clave de cifrado del volumen desde una frase de contraseña. PBKDF2 deriva una clave de longitud fija (32 bytes para AES-256) de la contraseña del usuario, que luego se usa para cifrar la clave maestra almacenada en el encabezado LUKS. La seguridad WPA2/WPA3 de Wi-Fi también usa PBKDF2 para derivar la Clave Maestra de Par (PMK) desde la contraseña Wi-Fi.

Recommended Configuration:
  • ✅ PBKDF2-HMAC-SHA512 (estándar LUKS1)
  • ✅ Argon2id (preferido LUKS2 — mejor resistencia a memoria)
  • 💡 Configure iteraciones suficientemente altas para que la derivación tome 0,5–2 segundos en el hardware objetivo
  • 💡 Almacene la sal en los metadatos del disco/encabezado, nunca por separado
Aceptable: Verificación de contraseñas en sistemas heredados

Muchos sistemas existentes (versiones antiguas de Django, .NET Membership, Java PBKDF2WithHmacSHA1) ya almacenan hashes PBKDF2. Continúe usando PBKDF2 para estos sistemas y aumente gradualmente el conteo de iteraciones conforme mejore el hardware. Use el conteo de iteraciones almacenado para la verificación (está embebido en la cadena hash) y actualice a las recomendaciones actuales de OWASP para nuevos registros y cambios de contraseña. Esto evita reinicios forzados de contraseñas mientras mejora la seguridad con el tiempo.

Recommended Configuration:
  • ✅ PBKDF2 (mantener para hashes existentes — no se requiere migración)
  • ✅ Aumentar iteraciones para nuevos hashes al mínimo actual de OWASP
  • 💡 Actualizar transparentemente el conteo de iteraciones en el próximo login
  • 💡 Considerar migrar a Argon2id para proyectos nuevos sin requisito FIPS
Aceptable: Derivar múltiples claves de una contraseña

PBKDF2 puede derivar claves de longitud arbitraria, lo que lo hace útil cuando se necesitan múltiples claves de una contraseña maestra (p. ej., una para cifrado, otra para autenticación MAC). Use sales diferentes o sufijos de índice para derivar claves independientes. Establezca la longitud de clave en 64 bytes y divida la salida en dos claves de 32 bytes, o ejecute PBKDF2 dos veces con sales diferentes. Este patrón se usa en algunas arquitecturas de gestores de contraseñas y esquemas de cifrado multicapa.

Recommended Configuration:
  • ✅ Usar sales diferentes por propósito de clave derivada
  • ✅ Usar HKDF para expansión de clave después de la derivación PBKDF2 inicial
  • ❌ Nunca reutilizar la misma sal para diferentes propósitos de clave
  • 💡 Combinar con AES-256-GCM para cifrado autenticado
No recomendado: Reemplazar Argon2 en proyectos nuevos

Si está comenzando un proyecto nuevo sin requisitos FIPS, PBKDF2 es la opción más débil comparada con Argon2id. PBKDF2 no es resistente a memoria, lo que significa que las GPU pueden paralelizar ataques económicamente. Incluso con 600.000 iteraciones, una GPU de alta gama puede intentar miles de adivinanzas PBKDF2 por segundo. Argon2id con parámetros predeterminados (47MB de memoria, 1 iteración) logra tiempo de ejecución comparable mientras que la resistencia a memoria previene completamente la paralelización con GPU.

Recommended Configuration:
  • ❌ Evitar PBKDF2 para nuevos proyectos cuando Argon2id esté disponible
  • ✅ Argon2id (resistente a memoria, preferencia OWASP)
  • ✅ scrypt (resistente a memoria, ampliamente disponible)
  • 💡 PBKDF2 solo se prefiere cuando el cumplimiento FIPS es obligatorio
No recomendado: Hash de datos general

PBKDF2 es una función de derivación de claves, no una función hash de propósito general. Es intencionalmente lenta y nunca debe usarse para hacer hash de contenidos de archivos, sumas de verificación, autenticación de mensajes o deduplicación. Para integridad de datos, use SHA-256 o SHA-512. Para autenticación de mensajes, use HMAC-SHA256. Usar la salida de PBKDF2 como hash general desperdiciaría ciclos de CPU significativos sin ningún beneficio de seguridad.

Recommended Configuration:
  • ❌ No usar PBKDF2 para sumas de verificación de archivos o integridad de datos
  • ❌ No usar PBKDF2 para autenticación de mensajes (usar HMAC-SHA256)
  • ✅ SHA-256 / SHA-512 para hash de datos general
  • ✅ HMAC-SHA256 para integridad de mensajes autenticada

Resumen de mejores prácticas

  • Use PBKDF2-HMAC-SHA256 (≥600.000 iteraciones) o HMAC-SHA512 (≥210.000) para entornos con cumplimiento FIPS. Almacene la cadena hash completa incluyendo iteraciones, algoritmo y sal.
  • Para proyectos nuevos sin requisitos FIPS, prefiera Argon2id — es resistente a memoria y significativamente más resistente a ataques GPU con rendimiento comparable.
  • Use siempre una sal aleatoria única por contraseña (generada automáticamente por esta herramienta). Nunca reutilice sales ni las codifique en el código de la aplicación.
  • Aumente los conteos de iteraciones con el tiempo conforme mejore el hardware. El conteo de iteraciones se almacena en la cadena hash, por lo que los valores antiguos y nuevos pueden coexistir.
  • Use PBKDF2 solo en el login o configuración de claves — nunca en cada solicitud. Emita tokens (JWT, sesión) después de la autenticación para operaciones de alta frecuencia.

Discusión y Comentarios

0 comentarios
Yo