Skip to content
Herramienta Pro

Laboratorio de almacenamiento de contraseñas: PBKDF2 y salting

PBKDF2 y SHA-256 reales en tu navegador: elige parámetros seguros, descifra un volcado de hashes sin salt y mira cómo un salt por usuario anula la rainbow table.

Abrir la herramienta →

La herramienta interactiva se abre en inglés.

Casi todas las brechas de contraseñas son un fallo de almacenamiento: texto plano, o un hash rápido sin salt. Este laboratorio de criptografía se ejecuta al 100 % en tu navegador y usa PBKDF2 y SHA-256 reales mediante la Web Crypto API, sin servidor y sin que nada salga de tu equipo. Derivas una clave con PBKDF2-SHA256 de crypto.subtle y un salt aleatorio, subes el número de iteraciones y ves cómo crece el tiempo real que cuesta un solo intento, que es justo el sentido de un factor de trabajo. Descifras un volcado MD5 sin salt de contraseñas comunes buscándolo en una rainbow table, exactamente como haría un atacante, y después añades un salt único por usuario y ves cómo los digests desaparecen de la tabla. Ordenas los esquemas por lo caro que es un intento, desde el texto plano hasta Argon2id y scrypt, y tomas decisiones calificadas: al menos 600.000 iteraciones de PBKDF2 (el mínimo actual de OWASP) con un salt único, salt frente a pepper, funciones de memoria dura frente a las que solo consumen cómputo y por qué nunca debes inventarte tu propio esquema. Es un laboratorio Pro.

  1. Deriva una clave con PBKDF2-SHA256 real y un salt aleatorio, y sube las iteraciones para ver cómo crece el coste de un intento.
  2. Descifra el volcado MD5 sin salt con una búsqueda en la rainbow table.
  3. Añade un salt único por usuario y comprueba que la tabla precalculada deja de funcionar.
  4. Ordena los esquemas de texto plano a Argon2id y resuelve los retos calificados sobre parámetros, salt y pepper.

Preguntas frecuentes

¿Qué es el laboratorio de almacenamiento de contraseñas?

Un entrenador de criptografía en el navegador que usa la Web Crypto API real (crypto.subtle) para enseñar a almacenar contraseñas de forma segura. Derivas claves con PBKDF2-HMAC-SHA256 en vivo, notas cómo subir las iteraciones encarece cada intento, descifras un volcado de hashes MD5 sin salt con una búsqueda en una rainbow table, ves cómo un salt único por usuario anula esa tabla precalculada y resuelves retos calificados sobre parámetros, salt frente a pepper, el orden de los esquemas y por qué fracasa el hashing casero. Todo se ejecuta en el cliente: no se envía nada a ningún servidor.

¿Por qué no son seguros los hashes de contraseñas MD5 o SHA-1 sin salt?

Esos hashes se calculan extremadamente rápido y, sin salt, contraseñas idénticas producen digests idénticos. Un atacante precalcula (o descarga) una tabla que asocia el hash de cada contraseña común con su texto plano y revierte un volcado filtrado entero por simple búsqueda en segundos, sin necesidad de descifrar de verdad. Un salt único y aleatorio por usuario hace que cada hash sea distinto, de modo que las tablas precalculadas y las rainbow tables dejan de servir, y una función lenta, idealmente de memoria dura (Argon2id, scrypt, bcrypt o PBKDF2 con un número alto de iteraciones), encarece los intentos masivos.

¿Cuántas iteraciones de PBKDF2 debo usar?

La Password Storage Cheat Sheet actual de OWASP sitúa el mínimo para PBKDF2-HMAC-SHA256 en 600.000 iteraciones, siempre con un salt aleatorio único por usuario. Cifras antiguas como 100.000 ya son demasiado bajas. Como PBKDF2 solo consume cómputo (no es de memoria dura), se paraleliza barato en GPU y ASIC, así que, cuando puedas, prefiere una función de memoria dura como Argon2id o scrypt, ajustada para que una sola verificación consuma una cantidad objetivo de tiempo y de memoria.

¿Cuál es la diferencia entre un salt y un pepper?

Un salt es único por usuario, no es secreto y se guarda junto al hash: su función es que cada hash sea único para que el precálculo fracase. Un pepper es un único secreto para toda la aplicación que se guarda FUERA de la base de datos (en una variable de entorno, un gestor de secretos o un HSM) y se mezcla en cada hash, de modo que una filtración solo de la base de datos siga sin poder atacarse por fuerza bruta. Son complementarios: mantienes ambos, y ninguno sustituye a un factor de trabajo alto.

¿Se envía algo a un servidor?

No. El laboratorio funciona íntegramente en el cliente y usa la implementación de Web Crypto integrada en tu navegador para PBKDF2 y SHA-256. Las contraseñas, los salts y las claves derivadas se quedan en la página; tu mejor nota se guarda solo en el almacenamiento local de tu propio navegador.

¿Es gratis?

No, es un laboratorio Pro. Con una cuenta gratuita tienes 3 usos de prueba; después necesitas Pro.

🖤 Black Friday: new customers get 3 months of Pro for $5, then $5/month. Ends 30 Nov. Claim 3 months for $5 →