Saltar al contenido
ToolsMinify logo
Todos los artículos

SHA-256 vs MD5: ¿qué hash deberías usar? (2026)

SHA-256 vs MD5 cara a cara: longitud del digest, velocidad, resistencia a colisiones y seguridad real. Por qué MD5 está roto, dónde aún sirve, cuándo usar SHA-256 y por qué las contraseñas necesitan bcrypt o Argon2.

Actualizado 19 de julio de 20267 min de lectura

Usa Generador de hash: gratis

Abre la herramienta en vivo y aplica lo que aprendiste en esta guía.

Abrir Generador de hash

MD5 y SHA-256 son dos de las funciones hash más usadas, y aparecen en los mismos sitios: checksums de archivos, verificación de descargas, comprobaciones de integridad y (por error) almacenamiento de contraseñas. Pero no son intercambiables. MD5 es más antiguo y más rápido, pero se considera criptográficamente roto desde hace dos décadas, mientras que SHA-256 es el valor por defecto moderno confiado por certificados TLS, firmas digitales y blockchains. Esta guía compara SHA-256 vs MD5 en longitud, velocidad y seguridad, explica exactamente por qué falla MD5 y muestra dónde sigue siendo apropiado cada uno.

Respuesta rápida

Usa SHA-256 para cualquier cosa relacionada con seguridad: verificación de integridad, firmas digitales y checksums en los que realmente confías. MD5 está roto por ataques de colisión prácticos y solo debería usarse para tareas sin seguridad, como una comprobación rápida frente a corrupción accidental. Y no uses ninguno solo para almacenar contraseñas: usa un algoritmo lento y con salt como bcrypt, scrypt o Argon2.

¿Qué es una función hash?

Una función hash criptográfica toma cualquier entrada -una palabra, un archivo, un gigabyte de datos- y produce una cadena de longitud fija llamada hash, digest o huella. La misma entrada siempre produce la misma salida, pero el proceso solo va en un sentido: no puedes tomar un hash y volver atrás para recuperar los datos originales. Tanto MD5 como SHA-256 son funciones hash de este tipo; la diferencia es el tamaño de su salida y lo difíciles que son de atacar.

Se espera que un buen hash criptográfico tenga tres propiedades, y entenderlas es la clave para ver por qué falla MD5 y SHA-256 no.

  • Determinista y de longitud fija: la misma entrada siempre produce el mismo digest, y cada digest tiene el mismo tamaño independientemente de la longitud de la entrada.
  • Resistencia a preimagen: dado un hash, es inviable encontrar cualquier entrada que lo produzca, así que no puedes invertirlo.
  • Resistencia a colisiones: es inviable encontrar dos entradas distintas que produzcan el mismo hash. Esta es exactamente la propiedad que MD5 ha perdido.

Los hashes también muestran el efecto avalancha: cambia un solo carácter -incluso añade un espacio final- y aproximadamente la mitad de los bits de salida se invierten, produciendo un digest completamente distinto. Eso es lo que hace útil el hashing para detectar si los datos han cambiado.

MD5: rápido pero roto

MD5 (Message-Digest Algorithm 5) fue diseñado por Ron Rivest en 1991. Produce un digest de 128 bits, escrito como 32 caracteres hexadecimales. Por ejemplo, el MD5 de la cadena de tres letras abc es 900150983cd24fb0d6963f7d28e17f72. MD5 es rápido y en su día se usaba casi en todas partes para checksums, hashing de contraseñas y certificados digitales.

Por qué MD5 está roto

El problema fatal de MD5 son las colisiones. En 2004, investigadores demostraron una forma práctica de generar dos entradas distintas con el mismo hash MD5, y los ataques solo se han vuelto más rápidos y baratos desde entonces. Hoy se puede producir una colisión en un ordenador ordinario en segundos. Como la resistencia a colisiones es la propiedad de la que dependen la mayoría de usos de seguridad, MD5 se considera criptográficamente roto.

Esto no es solo teórico. En 2012 el malware Flame usó una colisión MD5 para falsificar un certificado de firma de código de Microsoft, permitiéndole hacerse pasar por una actualización legítima de Windows. Las colisiones de prefijo elegido también permiten fabricar dos archivos -digamos, un documento inofensivo y uno malicioso- que compartan el mismo MD5, así que un checksum MD5 ya no puede demostrar que un archivo es auténtico.

Dónde MD5 sigue siendo aceptable

MD5 no es inútil: simplemente no es una herramienta de seguridad. Sigue siendo válido para tareas no adversariales como un checksum rápido para detectar corrupción accidental de archivos, una clave de hash-table o caché, o deduplicar archivos donde nadie intenta forzar una colisión a propósito. En el momento en que entra la seguridad o la confianza, cambia a SHA-256.

SHA-256: el valor por defecto moderno

SHA-256 forma parte de la familia SHA-2, publicada por NIST en 2001. Produce un digest de 256 bits, escrito como 64 caracteres hexadecimales. El SHA-256 de abc es ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad - fíjate en que es exactamente el doble de largo que el digest MD5 de arriba. SHA-256 no tiene ataques de colisión prácticos conocidos y es el caballo de batalla detrás de certificados TLS/HTTPS, firma de software, identificadores de objetos de Git y la blockchain de Bitcoin.

Vale la pena mencionar SHA-1, el algoritmo entre MD5 y SHA-256. SHA-1 produce un digest de 160 bits y también fue roto por una colisión práctica (el ataque SHAttered de 2017), así que también está deprecado. Cuando necesitas un hash seguro, SHA-256 es el valor por defecto seguro y bien soportado; SHA-384 y SHA-512 ofrecen digests aún mayores cuando quieres margen extra.

SHA-256 vs MD5: comparación cara a cara

Así se comparan los dos algoritmos en los factores que más importan.

  • Longitud del digest - MD5 es 128 bits (32 caracteres hex); SHA-256 es 256 bits (64 caracteres hex).
  • Año de introducción - MD5 en 1991; SHA-256 (familia SHA-2) en 2001.
  • Velocidad - MD5 es más rápido de calcular; SHA-256 es un poco más lento pero lo bastante rápido para prácticamente cualquier uso.
  • Resistencia a colisiones - MD5 está roto (colisiones prácticas desde 2004); SHA-256 no tiene colisiones prácticas conocidas.
  • Estado de seguridad - MD5 está deprecado para todo uso de seguridad; SHA-256 es recomendado y ampliamente confiado.
  • Usos comunes hoy - MD5: checksums legacy, claves de caché, deduplicación sin seguridad; SHA-256: verificación de integridad, firmas digitales, certificados, blockchains.

La conclusión: MD5 solo gana en velocidad en bruto, y esa ventaja rara vez importa. En cada dimensión que implica confianza, gana SHA-256.

Cuándo usar cada uno

Usa SHA-256 (o más fuerte) cuando

  • Verificas que un archivo descargado coincide con el checksum del publicador.
  • Creas o compruebas firmas digitales y certificados.
  • Generas identificadores content-addressed como commits de Git, claves de deduplicación o cachés donde importa la corrección.
  • Cualquier situación en la que alguien pueda intentar deliberadamente falsificar un hash coincidente.

MD5 solo es aceptable cuando

  • Necesitas una comprobación rápida de corrupción accidental en datos internos de confianza.
  • Estás construyendo una clave de hash-table o caché sin seguridad.
  • Debes interoperar con un sistema legacy que solo entiende MD5 - y no se está reclamando seguridad.

Tampoco uses SHA-256 para contraseñas

Un error común es actualizar el almacenamiento de contraseñas de MD5 a SHA-256 y asumir que el problema está resuelto. No lo está. SHA-256 está diseñado para ser rápido, y la velocidad es exactamente lo que no quieres para contraseñas: permite a un atacante que robe tu base de datos probar miles de millones de conjeturas por segundo. Los hashes generales rápidos son la herramienta equivocada para credenciales.

Para contraseñas, usa un algoritmo de hashing de contraseñas dedicado, deliberadamente lento y con salt:

  • Argon2 - la recomendación moderna y ganador del Password Hashing Competition; memory-hard para resistir ataques con GPU.
  • bcrypt - probado en batalla y ampliamente disponible, con un factor de trabajo ajustable.
  • scrypt - memory-hard como Argon2 y una alternativa sólida.

Cada uno de estos añade un salt aleatorio único por contraseña y te permite subir el factor de trabajo con el tiempo, por eso ellos -no MD5 ni SHA-256- son la elección correcta para almacenar credenciales de usuario.

Preguntas frecuentes

¿Es seguro MD5?

No. MD5 no es seguro para ningún propósito que dependa de la resistencia a colisiones, como firmas digitales, certificados o verificar que un archivo no ha sido manipulado. Los ataques de colisión prácticos existen desde 2004 y ahora son triviales de ejecutar. MD5 solo es aceptable como checksum rápido frente a corrupción accidental no maliciosa.

¿Es SHA-256 mejor que MD5?

Sí, para seguridad. SHA-256 produce un digest más largo de 256 bits y no tiene ataques de colisión prácticos conocidos, así que es la elección correcta para verificación de integridad, firmas y certificados. La única ventaja de MD5 es ser un poco más rápido, lo que casi nunca supera su seguridad rota.

¿Se pueden descifrar o invertir MD5 o SHA-256?

No. El hashing es unidireccional, así que no hay nada que descifrar: no puedes calcular la entrada original a partir de un hash. Lo que hacen los atacantes es adivinar entradas y hashearlas hasta que una coincida, usando rainbow tables o fuerza bruta, por eso los hashes rápidos como MD5 y SHA-256 sin salt son peligrosos para contraseñas.

¿Es SHA-256 mucho más lento que MD5?

SHA-256 es más lento que MD5, pero para cargas típicas -hashear archivos, cadenas o payloads de API- la diferencia es negligible en hardware moderno. La ganancia de seguridad supera con creces el pequeño costo de rendimiento, así que la velocidad rara vez es una buena razón para elegir MD5.

¿Debo usar MD5 o SHA-256 para contraseñas?

Ninguno por sí solo. Ambos son hashes generales rápidos, lo que facilita las conjeturas offline. Usa en su lugar una función de hashing de contraseñas lenta y con salt como Argon2, bcrypt o scrypt.

¿Qué debería reemplazar a MD5?

Para checksums e integridad, reemplaza MD5 por SHA-256 (o SHA-512). Para almacenamiento de contraseñas, reemplázalo por Argon2, bcrypt o scrypt. Evita SHA-1 como reemplazo, ya que también ha sido roto por un ataque de colisión práctico.

Genera un hash SHA-256 al instante

Usa el Generador de Hash gratis para crear digests SHA-256, SHA-1, SHA-384 o SHA-512 a partir de cualquier texto directamente en tu navegador: nada se sube. La Web Crypto API del navegador no incluye MD5, lo que es un empujón útil hacia la opción más segura.

Usa Generador de hash: gratis

Abre la herramienta en vivo y aplica lo que aprendiste en esta guía.

Abrir Generador de hash

Artículos relacionados