Cargando aplicación...
Preparando tu experiencia meskeIA
MD5, SHA-256, SHA-512 y más - Verifica integridad de datos
Qué son, para qué sirven, historia y cómo protegen la integridad de tus datos
MD5, SHA-1, SHA-256, SHA-384 y SHA-512: bits, longitud, velocidad y estado de seguridad actual
| Algoritmo | Bits | Longitud (hex) | Año | Estado actual | Uso recomendado |
|---|---|---|---|---|---|
| MD5 | 128 | 32 chars | 1992 | Roto (2004) | Solo checksums no críticos |
| SHA-1 | 160 | 40 chars | 1995 | Obsoleto (2017) | No recomendado |
| SHA-256 | 256 | 64 chars | 2001 | Seguro ✅ | Uso general, contraseñas, TLS |
| SHA-384 | 384 | 96 chars | 2001 | Muy seguro ✅ | Seguridad alta, certificados |
| SHA-512 | 512 | 128 chars | 2001 | Máxima seguridad ✅ | Datos críticos, firmas digitales |
Una función hash convierte cualquier cantidad de datos (texto, archivo, imagen) en una cadena de longitud fija llamada «digest» o «hash». El mismo input siempre produce exactamente el mismo hash. Funcionan como una huella digital única de los datos.
Determinista: mismo input → mismo output siempre
Unidireccional: imposible calcular el input desde el hash
Resistente a colisiones: prácticamente imposible que dos inputs distintos produzcan el mismo hash
• Verificar descargas con checksums
• Almacenar contraseñas (con salt)
• Firmas digitales y certificados SSL
• Blockchain y criptomonedas (Bitcoin usa SHA-256)
• Control de versiones (Git usa SHA-1 y SHA-256)
• Detección de malware por hash de archivos
SHA (Secure Hash Algorithm) fue diseñado por la NSA y estandarizado por el NIST. SHA-1 (1995) → SHA-2 (2001, incluye SHA-256/512) → SHA-3 (2015, basado en Keccak). SHA-256 y SHA-512 siguen siendo los estándares de facto para seguridad en 2024.
MD5 funciona perfectamente para generar hashes, pero ha sido demostrado que es posible crear colisiones intencionadas (dos archivos diferentes con el mismo hash MD5) en minutos con equipos actuales. Esto lo hace inaceptable para seguridad, pero válido para checksums donde no hay un atacante intentando manipular los datos.
No directamente. SHA-256 es demasiado rápido: un atacante puede probar billones de contraseñas por segundo con GPU. Para contraseñas se usan funciones específicamente lentas como bcrypt, Argon2o PBKDF2, que añaden un «salt» y son deliberadamente costosas computacionalmente.
Es una propiedad donde cambiar un solo bit del input cambia aproximadamente el 50% de los bits del hash de salida. Por ejemplo, hashear «Hola» vs «hola» (solo cambia mayúscula/minúscula) produce hashes SHA-256 completamente diferentes. Esta propiedad es fundamental para que los hashes sean seguros.
Un salt es un valor aleatorio único que se añade al input antes de hashear. Sirve para prevenir ataques con «rainbow tables» (bases de datos pre-calculadas de hashes de contraseñas comunes). Con salt, dos usuarios con la misma contraseña tendrán hashes diferentes.
Bitcoin usa SHA-256 de forma doble (SHA-256 aplicado dos veces al resultado). Cada bloque contiene el hash del bloque anterior, formando una cadena. Modificar cualquier transacción pasada cambiaría su hash, que cambiaría el hash del siguiente bloque, y así sucesivamente — requiriendo recalcular toda la cadena, lo que es computacionalmente inviable.
Input: "Hola"
d9014c4624844aa5bac314773d6b689ad467fa4e1d1a50a1b8a99d5a95f72ff5SHA-256
Input: "hola" (solo minúscula)
b221d9dbb083a7f33428d7c2a3c3198ae925614d70210e28716ccaa7cd4ddb79SHA-256
Solo cambió una letra (H→h) pero el hash es completamente diferente. Eso es el efecto avalancha: un cambio mínimo en el input genera un hash totalmente distinto.
Cuando descargas software, compara el SHA-256 publicado en la web oficial con el hash del archivo descargado. Si coinciden, el archivo no ha sido modificado.
Documentos legales, datos médicos o claves criptográficas merecen el mayor nivel de seguridad disponible. SHA-512 ofrece 512 bits de resistencia a colisiones.
Si simplemente necesitas detectar corrupción accidental de archivos (no ataques intencionados), MD5 sigue siendo útil por su velocidad y amplia compatibilidad.
Los repositorios Git identifican cada commit por su SHA-1. GitHub y Git 2.29+ ya soportan SHA-256. Si trabajas en proyectos de seguridad, considera migrar a SHA-256.
SHA-256 es demasiado rápido para proteger contraseñas. Un atacante con GPU puede probar 10.000 millones de hashes por segundo. Usa siempre bcrypt, Argon2 o PBKDF2 para contraseñas.
MD5 tiene colisiones documentadas desde 2004. SHA-1 fue retirado en 2017 cuando Google demostró una colisión (ataque SHAttered). Para cualquier uso de seguridad, usa SHA-256 como mínimo.
Los hashes son unidireccionales: no se pueden revertir al input original. No son cifrado — no tienen clave y no pueden descifrarse. Son herramientas de verificación de integridad, no de confidencialidad.
Los hashes brillan para verificar integridad de archivos, detectar cambios, crear identificadores únicos de contenido, firmas digitales (combinados con cifrado asimétrico) y como componente de otros sistemas de seguridad.