Password Hashing: cómo los sitios web guardan realmente tus contraseñas

Password Hashing: cómo los sitios web guardan realmente tus contraseñas

5 min de lectura

Un servicio puede comprobar tu contraseña sin llegar a tenerla nunca, porque el hashing va en un solo sentido: del valor guardado en la base de datos no hay vuelta a lo que tecleaste. De ahí sale todo lo demás: por qué un salt inutiliza las Rainbow Tables, por qué Argon2 y bcrypt son lentos a propósito y qué revela de verdad una filtración.

Nos adentramos en el mundo de las funciones hash criptográficas, explicamos la diferencia con el cifrado y te mostramos por qué técnicas como el 'salting' son hoy imprescindibles. Descubre por qué un buen sistema no necesita conocer tu contraseña para saber que es correcta. Este conocimiento te ayuda a entender por qué algunas reglas de seguridad (como la longitud de la contraseña) son tan importantes. Bienvenido a la sala de máquinas de la ciberseguridad.

1. El hashing no es cifrado: la calle de sentido único

La diferencia más importante primero: el cifrado es una calle de doble sentido. Con la clave correcta se pueden devolver los datos a su estado original. El hashing, en cambio, es una calle de sentido único. Una función hash toma una entrada (tu contraseña) y calcula a partir de ella un valor fijo (el hash).

A partir de este hash ya no es posible calcular matemáticamente la entrada original. Cuando inicias sesión, el sitio web vuelve a calcular el hash de lo que has escrito y lo compara con el valor almacenado en la base de datos. Si ambos coinciden, la contraseña era correcta. El truco: la propia empresa no conoce en ningún momento tu contraseña en texto plano. Incluso si roban la base de datos, los ladrones solo tienen los hashes, con los que poco pueden hacer sin una enorme potencia de cálculo.

La verdadera seguridad consiste en verificar un secreto sin tener que poseerlo jamás.

2. El papel del 'salt': protección frente a los ataques masivos

Los hackers son astutos. Calculan de antemano los hashes de millones de contraseñas habituales (las llamadas Rainbow Tables). Si dos personas usan la misma contraseña, tienen el mismo hash. Si el hacker encuentra ese hash en la lista, conoce de inmediato la contraseña.

Aquí es donde entra en juego el 'salting'. Un 'salt' es una cadena de caracteres aleatoria que se añade a tu contraseña antes del hashing. El resultado: incluso si dos personas tienen la misma contraseña, generan hashes completamente distintos debido a los diferentes salts. Esto hace imposible el uso de Rainbow Tables. Cada contraseña debe descifrarse de forma individual y con un enorme esfuerzo. Un buen sistema genera un salt nuevo y aleatorio para cada contraseña. Es un método sencillo, pero extremadamente eficaz, para repeler los ataques masivos.

3. Por qué el tiempo de cálculo es una característica de seguridad

Normalmente queremos que los ordenadores trabajen lo más rápido posible. En el hashing ocurre lo contrario. Los buenos algoritmos de hashing como Argon2 o bcrypt están diseñados para ser 'lentos' a propósito. Necesitan unos milisegundos más de tiempo de cálculo por operación.

Para un usuario normal, este retraso es imperceptible. Sin embargo, para un hacker que quiere probar miles de millones de combinaciones por segundo, es un obstáculo insalvable. Cada milisegundo adicional por intento se suma, en miles de millones de intentos, hasta alcanzar siglos de tiempo de cálculo. Aquí el tiempo es la moneda de la seguridad. Así que, si usas contraseñas largas, obligas a los algoritmos a un rendimiento máximo que ningún atacante puede asumir económicamente. La ciberseguridad es a menudo una carrera contra el tiempo.

4. ¿Qué sucede realmente en una filtración de datos?

Cuando oyes en las noticias hablar de una 'filtración' en la que se han robado millones de contraseñas, normalmente significa que se ha sustraído la base de datos con los hashes. El peligro para ti depende ahora de lo bien protegidos que estuvieran los hashes.

¿Estaban salados y calculados con un algoritmo moderno? Entonces tus datos están relativamente seguros, siempre que tu contraseña no fuera extremadamente sencilla (como 'contraseña123'). En ese caso, los hackers recurren a la 'fuerza bruta': simplemente prueban contraseñas, las someten a hashing y comprueban si coinciden con el botín. Por eso la longitud de tu contraseña es tan decisiva: aumenta el número de combinaciones posibles hasta tal punto que un acierto deja de ser realista. Por eso recomendamos siempre usar nuestro generador de contraseñas.

5. Cómo reforzar tu seguridad a través del conocimiento

Comprender el hashing te muestra por qué ciertos comportamientos son tan importantes. Aquí tienes 3 lecciones de la técnica:

  1. La longitud de la contraseña es la reina: Cuanto más larga sea la contraseña, más inútil resulta el hash para un ataque de fuerza bruta.
  2. Unicidad: Si un hash se descifra, solo debería servir para un único servicio.
  3. Confianza en la tecnología: Usa servicios que empleen estándares modernos (como Argon2).

    El conocimiento técnico quita el miedo al mundo digital y lo sustituye por una actuación competente. Queremos acompañarte en este camino y poner en tus manos las herramientas que necesitas para tu seguridad. La formación es la mejor protección.

El hashing es el escudo protector invisible que asegura tu identidad en internet miles de veces cada día. Es una obra maestra de la criptografía que nos permite movernos con seguridad en un entorno inseguro. Estamos orgullosos de utilizar estas tecnologías y de transmitirte ese conocimiento de forma comprensible. Esperamos que esta mirada a la sala de máquinas haya reforzado tu confianza en los buenos procesos digitales. Usa este conocimiento, elige contraseñas fuertes y mantente seguro en el mundo digital. ¡Somos tu socio para un futuro organizado y protegido!

¿Seguro en la web?

Contraseñas que nadie adivina y que no tienes que memorizar, generadas gratis y sin registro.