Rainbow Tables y Salt

Laboratorio de concientización · Netblue

Rainbow Tables y Salt

Los sitios no guardan tu contraseña, guardan su hash (una huella irreversible). Pero si el hash no lleva salt, un atacante puede usar una rainbow table — un diccionario gigante de hashes precalculados — para revertirlo al instante. El salt rompe ese truco. Escribe una contraseña y compruébalo con hashing SHA-256 real.

Contraseña → hash

Añadir salt único por usuario Un valor aleatorio se concatena antes de hashear
password123
→
SHA-256
→
hash
Hash almacenado…
…

Rainbow table del atacante (muestra)

Texto planoHash precalculado (SHA-256)

Dos usuarios, misma contraseña

Con salt, aunque dos personas usen "password123", sus hashes son distintos. La tabla precalculada no sirve para ninguno.

Cómo defenderse (del lado del servidor)

Salt único por usuario

Un valor aleatorio por cuenta hace que hashes iguales se vean distintos e inutiliza las rainbow tables.

Hashing lento (bcrypt / argon2)

Diseñados para ser costosos: cada intento tarda, encareciendo masivamente el ataque offline.

Nunca MD5/SHA-1 a secas

Son rápidos y tienen tablas enormes ya publicadas. No sirven para almacenar contraseñas.

Pepper + rotación

Un secreto global adicional (pepper) y políticas de rotación añaden capas extra de protección.

El hashing es SHA-256 real calculado en tu navegador (Web Crypto). Se usa SHA-256 por ser demostrable; en producción las contraseñas se guardan con bcrypt/argon2, no con SHA-256.