MD5 o SHA-256: cuál usar y para qué
Elige el algoritmo según lo que quieres comprobar, aprende a verificar una descarga con el hash que publica la web y evita el error de usarlo para contraseñas.
Para comprobar que un archivo no cambió, usa SHA-256. MD5 sirve como mucho para detectar una descarga corrupta por accidente, y ninguno de los dos sirve para guardar contraseñas. Con el generador de hash calculas MD5, SHA-1, SHA-256, SHA-384 y SHA-512 de un texto o de un archivo en tu navegador, y comparas el resultado con el hash que publica la web de la descarga. El archivo no se sube a ningún servidor.
¿Qué es un hash?
Un hash es una huella de longitud fija que se calcula a partir de unos datos. Si cambia un solo byte del archivo, la huella cambia por completo. Dos propiedades lo hacen útil: el mismo contenido da siempre el mismo hash, y desde el hash no se puede recuperar el contenido. Por eso no es cifrado: no hay clave ni forma de "descifrarlo".
MD5, SHA-1 y SHA-256 frente a frente
| Algoritmo | Longitud del hash | Estado |
|---|---|---|
| MD5 | 32 caracteres hexadecimales | Con colisiones prácticas conocidas, no apto para seguridad |
| SHA-1 | 40 caracteres | Colisión real demostrada en 2017, retirado de usos de seguridad |
| SHA-256 | 64 caracteres | Vigente, de la familia SHA-2 |
| SHA-384 | 96 caracteres | Vigente, SHA-2 |
| SHA-512 | 128 caracteres | Vigente, SHA-2 |
Una colisión ocurre cuando dos contenidos distintos producen el mismo hash. En MD5 se sabe fabricarlas desde hace años, y el RFC 6151 resume sus problemas de seguridad. Para SHA-1, investigadores del CWI Ámsterdam y Google demostraron la primera colisión real en 2017, con dos PDF distintos que comparten el mismo SHA-1. SHA-256 no tiene ataques de ese tipo conocidos.
Cómo leer un hash
Cada carácter hexadecimal aporta 4 bits, así que las longitudes de la tabla equivalen a 128, 160, 256, 384 y 512 bits. Mayúsculas y minúsculas significan lo mismo, y por eso al comparar un checksum conviene ignorar la capitalización. Las cifras que siguen a SHA indican el tamaño de la salida en bits.
Cómo verificar una descarga paso a paso
- En la página de descarga busca el hash publicado, que suele llamarse SHA-256 o checksum.
- Abre el generador de hash, cambia a la entrada de archivo y suelta el archivo descargado.
- Pega el hash publicado en el campo Comparar con hash esperado. La herramienta ignora mayúsculas y espacios, acepta un prefijo como
SHA-256:o la salida desha256sumcon el nombre del archivo, y detecta el algoritmo por la longitud (32, 40, 64, 96 o 128 caracteres). - Lee el mensaje. Si coincide, el hash calculado es idéntico al esperado. Si no coincide, el archivo no es el original o el hash pegado es de otro archivo.
Si lo que pegas no parece un hash, la herramienta avisa de que solo puede tener dígitos del 0 al 9 y letras de la a a la f, y si la longitud no corresponde a ningún algoritmo, te dice cuántos caracteres tiene un hash completo de cada tipo.
También hay un enlace para buscar el hash en VirusTotal. Es una consulta por hash: tu archivo no se sube.
Un límite que conviene tener presente
Si el hash se publica en la misma página que el archivo, comprueba que la descarga llegó íntegra, pero no prueba que el sitio no fuera comprometido: quien cambie el archivo puede cambiar también el hash. Para esa garantía hace falta una firma o un hash obtenido por otro canal de confianza.
¿Y las contraseñas?
Ninguno de estos algoritmos es adecuado para guardar contraseñas. Son rápidos a propósito, y eso permite a un atacante probar un número enorme de combinaciones por segundo. La guía de OWASP sobre almacenamiento de contraseñas lo dice expresamente y recomienda algoritmos diseñados para ser lentos, con Argon2id como primera opción. Si tu contraseña apareció en una filtración, mira tu contraseña apareció en una filtración: qué hacer.
¿Cuándo MD5 sigue siendo aceptable?
Para usos que no dependen de que nadie quiera falsificar nada: detectar que un archivo se corrompió en una copia, generar una clave de caché o comparar contra un checksum antiguo que solo existe en MD5. Si hay un adversario posible, usa SHA-256 o superior. Y si tu preocupación es la integridad de un documento más que de una descarga, mira qué datos ocultos lleva un PDF.
Preguntas frecuentes
¿Cuál es la diferencia entre MD5 y SHA-256?
MD5 produce una huella de 32 caracteres y tiene colisiones prácticas conocidas, por lo que no se considera seguro. SHA-256 produce 64 caracteres y sigue vigente. Para comprobar integridad con seguridad, usa SHA-256.
¿MD5 todavía es seguro?
No para seguridad. Sirve para detectar corrupción accidental o por compatibilidad con checksums antiguos, pero si alguien puede manipular el archivo a propósito, no ofrece garantía.
¿Cómo compruebo el hash de un archivo descargado?
Calcula su hash con el mismo algoritmo que publica la web y compáralo con el publicado. Si son idénticos, el archivo no cambió. Si no, la descarga está incompleta o no es el archivo original.
¿Puedo usar SHA-256 para guardar contraseñas?
No. Es demasiado rápido y permite probar muchas combinaciones por segundo. Para contraseñas se usan algoritmos lentos como Argon2id, scrypt o PBKDF2, con sal.
¿Un hash se puede revertir?
No hay forma de recuperar el contenido original a partir de su hash. Lo que sí se hace es probar contenidos conocidos hasta dar con el mismo hash, y por eso las contraseñas débiles se rompen aunque estén hasheadas.
¿Se sube mi archivo a algún servidor al calcular el hash?
No. El cálculo ocurre en tu navegador. Puedes comprobarlo en la pestaña Red de las herramientas de desarrollo: aparecen peticiones de analítica, pero ninguna POST o PUT con el tamaño de tu archivo.
Calcula y compara un hash
MD5, SHA-1, SHA-256, SHA-384 y SHA-512 de texto o archivos, con comparación contra el hash esperado. Gratis y sin registro.
Abrir Generador de hash →Herramientas relacionadas
- Generador de hash: MD5, SHA-1, SHA-256, SHA-384 y SHA-512, con comparación contra el hash esperado.
- Comprobar contraseña: mira si una contraseña apareció en filtraciones conocidas.
- Inspector de archivos: comprueba qué es realmente un archivo, más allá de su extensión.
- Base64: codifica y decodifica, otra transformación que no es cifrado.
También te puede interesar: qué es Base64 y por qué no es cifrado, 13 herramientas para developers que respetan tu privacidad, Cómo crear una contraseña segura, con cuentas y Qué hay dentro de un JWT y cómo leerlo.