Skip to main content
ToolsFree.io🇬🇧en
Por Equipo Editorial de ToolsFree··8 min de lectura

MD5 vs SHA-256: cuál deberías usar

Compartir:𝕏LinkedIn

Seguramente has visto ambos nombres juntos en una página de descarga o en un tutorial de seguridad: MD5 y SHA-256. A primera vista parecen intercambiables, dos cadenas largas de caracteres hexadecimales que prometen dejar una huella de tus datos. No son intercambiables en absoluto. Uno de ellos quedó roto hace años y no debería proteger nada importante, mientras que el otro protege en silencio una enorme parte del internet moderno. Este es el duelo directo: qué separa de verdad a estos dos algoritmos, dónde encaja cada uno todavía y cuál deberías elegir hoy. Si prefieres conocer primero todo el panorama del hashing, nuestra guía Funciones Hash Explicadas cubre a toda la familia; este artículo se centra en los dos nombres sobre los que más se discute.

Conoce a MD5 y SHA-256

MD5, abreviatura de Message Digest 5, fue diseñado por Ron Rivest en 1991. Produce un resumen de 128 bits y estuvo en todas partes durante los años 90 y 2000: checksums de descargas, tablas de contraseñas, sistemas de deduplicación e innumerables verificaciones de integridad caseras. Es rápido, simple y está disponible en todos los lenguajes, y por eso mismo sobrevivió mucho después de que debería haberse jubilado.

SHA-256 pertenece a la familia SHA-2, publicada por el NIST en 2001 y estandarizada en FIPS 180-4. Produce un resumen de 256 bits y se ha convertido en el caballo de batalla de la web segura. Sostiene los certificados TLS, la firma de código, las canalizaciones de actualización de software y la prueba de trabajo en el corazón de Bitcoin. Donde MD5 es una reliquia que deberías ir retirando, SHA-256 es la opción conservadora y predeterminada que la mayoría de los sistemas adopta.

Tamaño de salida: 128 bits vs 256 bits

La diferencia más visible es la longitud. MD5 emite 128 bits, que son 16 bytes, y se representa como una cadena hexadecimal de 32 caracteres. SHA-256 emite 256 bits, o 32 bytes, y se representa como una cadena hexadecimal de 64 caracteres. Aplica hash a la misma palabra con cada uno y el resultado de SHA-256 será, sencillamente, el doble de largo en la pantalla.

Esa longitud no es solo estética. Una salida más grande significa un espacio mayor de resúmenes posibles, y un espacio mayor dificulta la búsqueda de colisiones por fuerza bruta. En términos aproximados, MD5 distribuye todo en un espacio de 2 elevado a 128, mientras que SHA-256 usa 2 elevado a 256. Por el problema del cumpleaños, el esfuerzo para hallar una colisión por azar se acerca a la raíz cuadrada de esos números, es decir 2 elevado a 64 para MD5 frente a 2 elevado a 128 para SHA-256. Incluso antes de hablar de los defectos de diseño de MD5, su salida más pequeña le da al atacante mucho menos terreno que cubrir.

Velocidad: ¿cuál es más rápido?

MD5 es el algoritmo más ligero. Usa una estructura de rondas más simple y un estado interno más pequeño, así que en la mayoría del hardware procesa datos en bruto más rápido que SHA-256. La diferencia real depende mucho de tu CPU y del tamaño de la entrada, y se reduce notablemente en procesadores modernos que incluyen instrucciones SHA dedicadas para acelerar SHA-256 en hardware. Por eso, aunque MD5 suele ser más rápido, la brecha suele ser menos dramática de lo que la gente cree.

Y aquí está lo que confunde a muchos: la velocidad pura es justo lo que no conviene optimizar en un contexto de seguridad. Un hash rápido es un regalo para un atacante que quiere probar miles de millones de intentos por segundo contra una base de datos robada. Elegir MD5 "porque es más rápido" optimiza para el adversario. La velocidad solo te ayuda cuando no hay adversario alguno, por ejemplo al calcular el checksum de un archivo para detectar corrupción accidental.

Dónde se rompió MD5: resistencia a colisiones

Una colisión son dos entradas diferentes que producen el mismo resumen. Un hash seguro debe hacer que encontrar una sea computacionalmente inviable, y justo ahí se derrumbó MD5. Los investigadores demostraron colisiones prácticas a mediados de la década de 2000. En 2008 un equipo usó una colisión de MD5 para falsificar el certificado de una autoridad certificadora, y en 2012 el malware Flame abusó de una colisión de MD5 para falsear una firma de código. Hoy puedes generar una colisión de MD5 en un portátil corriente en cuestión de segundos.

Peor aún, las técnicas de colisión de prefijo elegido permiten a un atacante crear dos archivos con contenidos claramente distintos, dos documentos o dos ejecutables, que comparten el mismo MD5. Eso destruye la única propiedad de la que realmente dependes: poder demostrar que un archivo es el archivo que crees que es cuando alguien intenta engañarte. La resistencia de MD5 a los ataques de preimagen, es decir, hallar una entrada para un hash dado, ha aguantado mejor que su resistencia a colisiones, pero eso es un pobre consuelo. La sola ruptura por colisión descalifica a MD5 de cualquier propósito de seguridad, de forma permanente.

Por qué SHA-256 sigue siendo sólido

SHA-256 ha soportado dos décadas de intenso escrutinio público y no tiene ataques prácticos conocidos de colisión ni de preimagen hasta 2026. Su salida de 256 bits, su bien estudiada construcción SHA-2 y su estandarización formal le dan un amplio margen de seguridad. Las mismas propiedades que lo hacen confiable para los certificados TLS y para Bitcoin también lo convierten en una opción sensata para tus propias verificaciones de integridad y huellas.

Además cuenta con impulso a su favor. Los ecosistemas que antes se apoyaban en hashes más débiles llevan años migrando hacia SHA-256, e incluso los sistemas de control de versiones construidos sobre resúmenes más antiguos se están moviendo hacia él. Cuando eliges SHA-256, optas por un algoritmo que la industria ya ha validado y adoptado, algo que importa cuando necesitas que tus decisiones envejezcan bien.

Cuándo MD5 sigue siendo aceptable

MD5 no es radiactivo; simplemente se aplica mal. Sigue siendo razonable en contextos estrictamente no adversariales y ajenos a la seguridad, donde solo te importan los cambios accidentales:

  • Detectar corrupción accidental durante una transferencia de archivos donde no hay ningún atacante, como un checksum rápido de comprobación.
  • Deduplicación, cuando marcas archivos probablemente idénticos o generas claves de caché y una colisión maliciosa no forma parte del modelo de amenazas.
  • Claves no criptográficas para tablas hash, asignación de buckets o detección ligera de cambios.

El hilo común es que una colisión deliberada no te costaría nada. Si eso deja de ser cierto en algún momento, MD5 deja de ser aceptable. E incluso en estos casos MD5 rara vez es la mejor herramienta: un hash no criptográfico como xxHash suele ser más rápido para pura deduplicación, y SHA-256 es lo bastante barato en el hardware moderno como para que recurrir a MD5 aporte poco. Una regla práctica sencilla: si las palabras seguridad, confianza, firma o "verificar frente a un atacante" aparecen cerca del requisito, MD5 queda descartado.

Cuándo recurrir a SHA-256

SHA-256 es la elección correcta siempre que un adversario pueda beneficiarse de falsificar o manipular tus datos:

  • Verificación de integridad de archivos frente a manipulación, como un checksum de descarga publicado por el proveedor.
  • Firmas digitales y verificación de certificados.
  • Almacenamiento direccionado por contenido, compromisos y huellas al estilo blockchain.
  • Autenticación de mensajes con HMAC-SHA256, donde un secreto compartido prueba integridad y origen.

Una advertencia importante: no almacenes contraseñas con una sola pasada cruda de SHA-256, y mucho menos de MD5. Un hash de propósito general es deliberadamente rápido, lo cual es una desventaja para las contraseñas porque permite al atacante probar cantidades enormes de intentos por segundo contra una base de datos filtrada. Usa en su lugar una función de hashing de contraseñas o de derivación de claves diseñada para ello, como Argon2, scrypt o bcrypt, siempre con una sal única por usuario. SHA-256 puede aparecer legítimamente dentro de una KDF, por ejemplo PBKDF2-HMAC-SHA256, porque PBKDF2 lo itera muchos miles de veces a propósito para ralentizar al atacante. La conclusión es que SHA-256 es un componente para la seguridad de contraseñas, nunca la solución completa por sí solo.

MD5 vs SHA-256 de un vistazo

Si solo recuerdas una sección, que sea esta. Aquí tienes el resumen del duelo directo:

  • Tamaño de salida: MD5 es de 128 bits; SHA-256 es de 256 bits.
  • Longitud del resumen en hex: MD5 son 32 caracteres; SHA-256 son 64 caracteres.
  • Introducción: MD5 en 1991; SHA-256 en 2001.
  • Resistencia a colisiones: MD5 está roto; SHA-256 sigue intacto.
  • Seguro para uso en seguridad: MD5, no; SHA-256, sí.
  • Checksums sin seguridad: MD5 es aceptable; SHA-256 también sirve.
  • Velocidad: MD5 suele ser más rápido; SHA-256 es lo bastante rápido y a menudo acelerado por hardware.

El veredicto: ¿cuál deberías usar?

Para todo lo que toque seguridad, confianza o una integridad que un atacante pueda atacar, usa SHA-256 o algo más fuerte. Trata a MD5 como un checksum heredado solo para detectar corrupción accidental, e incluso entonces prefiere un hash no criptográfico moderno o SHA-256 siempre que tengas dudas. Si no puedes distinguir con claridad en qué categoría estás, elige SHA-256 por defecto; rara vez es la respuesta equivocada, y el pequeño coste extra es insignificante frente al riesgo de fallar la elección.

Lo único que nunca debes hacer es usar MD5 para proteger algo que un adversario querría falsificar. Ese error todavía aparece en código heredado y en scripts rápidos, y vale la pena auditarlo. Cambiar una llamada cruda a MD5 por SHA-256 suele ser una modificación de una sola línea, y cierra una brecha por la que los atacantes llevan más de una década pasando.

Prueba nuestro Generador de Hash gratuito

¿Quieres ver la diferencia por ti mismo? Nuestro Generador de Hash gratuito te permite aplicar hash a texto o archivos con SHA-256, SHA-512, la familia SHA-3 y HMAC, y comparar dos resúmenes uno al lado del otro. También ofrece SHA-1 como opción heredada, que deberías evitar por seguridad igual que evitas MD5, así que usa SHA-256 o algo más fuerte para lo que importe. Todo se ejecuta localmente en tu navegador, así que tus datos nunca salen de tu dispositivo. Para la historia más amplia de cómo funcionan estos algoritmos por dentro, vuelve a nuestra guía Funciones Hash Explicadas.

Asegura tu Vida Digital

Los hashes verifican la integridad; estas herramientas protegen los datos que hay detrás. Elegimos servicios con cifrado de extremo a extremo que ponen criptografía sólida en tus manos cada día: para el tráfico, el correo y las contraseñas.

Podemos recibir una comisión a través de enlaces de afiliados sin coste adicional para ti.

Priorizamos herramientas que encajan con el caso de uso; no todas las recomendaciones dependen de acuerdos de afiliacion.

Artículos relacionados

Aprende más con nuestras guías detalladas y tutoriales relacionados.

MD5 vs SHA-256: cuál deberías usar | ToolsFree.io