👉 ¿Hablamos de Frontend? Mira mis clases personalizadas en Perú 🧑‍💻
¡Link copiado!

El hash SHA-1 que todos usaron y que ya no deberías usar

Buenas prácticas | | 3 minutos

Vamos a desenterrar un clásico que aún aparece en muchos proyectos: SHA-1.

Puede que lo hayas visto en Git, APIs, tokens o viejas librerías, pero:

👉 ¿qué es realmente SHA-1?

👉 ¿sigue siendo seguro?

👉 y qué alternativas deberías usar hoy?

💡 ¿Qué es un hash?

Un hash es una función que toma cualquier dato (texto, archivo, contraseña) y lo transforma en una cadena corta de caracteres — siempre del mismo tamaño, sin importar el tamaño del dato original.

Un error muy común es pensar que un hash es reversible, como una contraseña cifrada.

El hash es un proceso unidireccional.

Una vez generado, no hay forma matemática de recuperar el mensaje original.

💡 ¿Qué es SHA-1?

SHA-1 es un algoritmo de hash criptográfico creado en los 90s. Su trabajo es transformar cualquier dato de entrada (texto, archivo, número) en un identificador fijo de 160 bits.

Ejemplo:

   Entrada: "Hola mundo"
SHA-1: c083106c930790151165b95bd11860724e3836cb

Mismo dato siempre genera el mismo hash. Cambias una letra y obtienes un hash completamente diferente. Esto es muy útil para:

  • Validar integridad de archivos.
  • Firmar datos.
  • Identificar versiones o cambios.

🗓️ Breve historia: cuándo nació y cuándo cayó

EventoAño
SHA-1 es publicado por el NIST1995
SHA-2 (SHA-256, SHA-512, etc.) publicado2001
Primeras debilidades teóricas encontradas2005
Ataque real SHAttered (colisión demostrada)2017

Desde 2005 se sabía que SHA-1 era débil, y en 2017 Google demostró una colisión práctica (¡dos archivos PDF diferentes con el mismo hash!).

Desde entonces se considera obsoleto e inseguro para seguridad criptográfica.

⚠️ ¿Sigue usándose SHA-1 hoy?

Aunque su uso en seguridad está totalmente desaconsejado, todavía se encuentra en algunos casos:

Caso¿Por qué aún se usa?Nota
Git (hash de commits)Compatibilidad histórica.Git soporta SHA-256 desde 2020.
Checksums de archivosVerificación de integridad básica.Mejor usar SHA-256.
Sistemas legacy / APIs viejasPor no haberse actualizado.Migrar lo antes posible.
Firmas de software antiguoCompatibilidad con dispositivos viejos.Evitar siempre que sea posible.

Ojo: Si ves SHA-1 en temas de contraseñas, firmas digitales o tokens: ¡cambia ya!

🔥 Alternativas modernas

Hoy tienes varias opciones seguras y bien soportadas:

AlgoritmoLongitud HashSeguridadSoporte
SHA-256256 bits🔥 AltaWeb Crypto API / Node.js
SHA-512512 bits🛡️ Muy AltaWeb Crypto API / Node.js
BLAKE2Variable⚡ Ultra rápido y seguroLibrerías específicas
SHA-3Variable🔬 Diseño modernoNode.js / Librerías

🧑‍💻 Ejemplo práctico en JavaScript

   const encoder = new TextEncoder()
const data = encoder.encode('Hola mundo')

crypto.subtle.digest('SHA-256', data).then((buffer) => {
	console.log(Buffer.from(buffer).toString('hex'))
})

🏆 ¿Qué deberías usar hoy?

NecesitasLo recomendado es
Validar archivosSHA-256 o SHA-3
Tokens o firmas digitalesSHA-256 o SHA-512
ContraseñasBcrypt, Argon2, PBKDF2
Identificadores ligerosnanoid o uuid

🤔 ¿Y si quiero obtener el mensaje desde el hash?

¡No se puede!

El hash es como la huella digital de un texto, pero no guarda información del mensaje original.

A menos que alguien use:

  • Fuerza bruta (probar infinitos mensajes hasta dar con el hash),

  • Diccionarios o rainbow tables (tablas de hash precalculados para palabras comunes),

No es posible revertir un hash. Por eso se recomienda usar salt (agregar valores aleatorios al texto antes de hashearlo) cuando manejas datos sensibles, como contraseñas.

✅ Conclusión

  • SHA-1 fue importante, pero hoy es inseguro.

  • En sistemas nuevos o actualizaciones, siempre opta por SHA-256 o superiores.

  • En sistemas heredados (como Git), SHA-1 aún sobrevive, pero su uso seguro depende de factores adicionales.

Así que ya sabes: si tu código tiene SHA-1… ¡es momento de refactorizar! 💪

¡Gracias por leer!

Si te ha gustado este artículo, ¡compártelo con tus amigos y seguidores! Tu apoyo me motiva a llegar a más personas y a seguir creando contenido increíble para ti.