Guardar contraseñas de forma segura es un desafío constante para desarrolladores y empresas, pero la técnica de añadir sal a cada contraseña ha demostrado ser una defensa crucial.
Índice
Por qué no se guardan contraseñas en claro
Defensa frente a tablas precalculadas
Buenas prácticas de almacenamiento
Por qué no se guardan contraseñas en claro
Guardar contraseñas tal cual, en texto plano, sería como dejar la puerta abierta a cualquier intruso. Imagina que una base de datos con millones de nombres de usuario se filtra: si las contraseñas están sin protección, cualquiera las puede usar para acceder a cuentas bancarias, correos o redes sociales. Por eso, sistemas serios nunca almacenan contraseñas en claro.

En lugar de eso, hacen uso de funciones hash, que transforman la contraseña en una cadena irreconocible. Este hash es irreversible, lo que significa que no puedes volver a la contraseña original a partir del hash. Sin embargo, sin técnicas adicionales, los hashes pueden ser vulnerables a ataques de fuerza bruta o tablas precalculadas.
Qué aporta la sal al cifrado
Ahí es donde entra la sal, un poco de datos aleatorios que se añaden a la contraseña antes de aplicar el hash. La sal hace que dos contraseñas iguales produzcan hashes diferentes, lo que dificulta enormemente el trabajo de los atacantes.
Por ejemplo, si dos usuarios usan “123456” como contraseña, sin sal sus hashes serían idénticos. Con sal, cada hash es único, incluso si la contraseña es la misma. Puedes leer más detalles sobre esta técnica en goldeneuro.es.
La sal también evita ataques como el uso masivo de tablas rainbow, ya que el atacante tendría que calcular hashes para cada combinación de contraseña y sal, aumentando el tiempo y recursos necesarios para vulnerar las cuentas.
Defensa frente a tablas precalculadas
Las tablas precalculadas, conocidas como tablas rainbow, son colecciones gigantes de hashes correspondientes a combinaciones comunes de contraseñas. Son usadas para acelerar ataques y descifrar contraseñas rápidamente.

La sal complica este escenario porque obliga a crear una tabla precalculada diferente para cada posible valor de sal. Eso hace que el ataque sea poco práctico y costoso. Por eso, añadir una sal suficientemente larga y aleatoria mejora la seguridad.
Un artículo reciente en MARCA English explica cómo estas técnicas protegen mejor los datos en entornos digitales.
El proceso de hash con sal
El proceso típico implica generar una sal única para cada usuario, normalmente una cadena aleatoria de 16 bytes o más. Luego, se concatena la contraseña con esta sal, y se aplica una función hash segura como SHA-256 o bcrypt.
Por ejemplo, si tu contraseña es “contraseña123” y la sal es “AB12CD34”, el sistema calculará el hash de “contraseña123AB12CD34”. Este resultado se almacena junto con la sal.
Así, cuando inicias sesión, el sistema recupera la sal correspondiente, concatena con la contraseña que escribiste, y calcula el hash para compararlo con el almacenado. Si coinciden, la autenticación es exitosa.
Para entender mejor la gestión de estos procesos, haz clic aquí para ver un ejemplo de control y gestión aplicada a sistemas similares.
| Método | Uso de sal | Velocidad | Seguridad |
|---|---|---|---|
| Hash simple (ej. MD5) | No | Muy rápida | Baja, vulnerable a ataques |
| Hash con sal única | Sí, aleatoria por usuario | Moderada | Alta, protege contra tablas rainbow |
| bcrypt con sal y factor de coste | Sí, integrada y ajustable | Lenta (por diseño) | Muy alta, recomendado para contraseñas |
| Argon2 | Sí, avanzada | Configurable | Extremadamente alta, resistente a ataques GPU |
Buenas prácticas de almacenamiento
No basta solo con añadir sal: la longitud y la aleatoriedad de la sal son clave. Sal demasiado corta o predecible puede facilitar ataques. Además, es vital usar funciones hash diseñadas para contraseñas, como bcrypt, Argon2 o scrypt, que ralentizan el proceso y hacen ataques de fuerza bruta inviables.
También, almacenar la sal junto al hash es estándar, ya que se necesita para verificar la contraseña. Pero la base de datos debe estar protegida con otras medidas: cifrado, acceso restringido y monitoreo constante.
Y recuerda, actualizar los métodos y parámetros de hash con el tiempo es necesario para mantener la seguridad ante avances tecnológicos.
En resumen, añadir sal a cada contraseña antes de almacenarla es una técnica simple, pero fundamental para proteger tus datos personales y los de otros. Ignorarla es invitar a problemas.