Mastodon Mastodon Mastodon Mastodon

Sal

Actualizado: · CyberSecureFox Editorial Team

La sal (salt) es un valor aleatorio único que se añade a cada contraseña antes de calcular su hash, para que contraseñas idénticas produzcan hashes distintos.

Cómo funciona la sal

Los sistemas nunca deben guardar las contraseñas, solo sus hashes. Sin sal, una misma contraseña siempre da el mismo hash: los atacantes comparan los hashes robados con enormes tablas precalculadas (tablas arcoíris) y ven al instante qué usuarios comparten contraseña. Con sal, el sistema genera un valor aleatorio para cada usuario, lo combina con la contraseña y guarda la sal junto al hash resultante:

  • hash("password123" + "Q3v9...") para un usuario,
  • hash("password123" + "Lm81...") para otro: resultados totalmente distintos.

La sal no es secreta. Su función es que cada hash sea único, de modo que haya que descifrarlos uno a uno. Las directrices del NIST exigen sales de al menos 32 bits; en la práctica las bibliotecas usan 16 bytes. La pimienta (pepper) es otra cosa: un valor secreto guardado aparte de la base de datos, por ejemplo en un módulo de seguridad hardware.

Por qué la sal importa para la seguridad

La sal por sí sola no impide la fuerza bruta contra contraseñas débiles: las GPU modernas prueban miles de millones de hashes rápidos como MD5 o SHA-256 por segundo. Por eso la sal debe combinarse con una función de hash de contraseñas lenta y que consuma mucha memoria. Muchas filtraciones han expuesto contraseñas sin sal o con hashes débiles que se descifraron en pocos días.

Buenas prácticas

  • Usa un algoritmo específico para contraseñas: Argon2id, scrypt, bcrypt o PBKDF2 con muchas iteraciones; generan la sal automáticamente.
  • Nunca uses MD5, SHA-1 o SHA-256 a secas para contraseñas.
  • Genera las sales con un generador aleatorio criptográficamente seguro, una distinta por contraseña.
  • Como usuario, elige contraseñas largas y únicas y un gestor de contraseñas: la sal no salva a «123456».
Sinónimos:
Sal criptográfica, Salt