¿Qué es MD5?
MD5 (Message Digest Algorithm 5) es una función hash criptográfica ampliamente usada que produce un valor hash de 128 bits. Aprende qué es MD5, cómo funciona y cuándo usarlo o evitarlo.
MD5 es una función hash criptográfica que toma una entrada de cualquier tamaño y produce un valor hash fijo de 128 bits (16 bytes), típicamente expresado como una cadena hexadecimal de 32 caracteres. Fue diseñada por Ronald Rivest en 1991. MD5 es una función unidireccional — dado un hash, no es posible obtener la entrada original mediante ingeniería inversa.
Cómo Funciona MD5
MD5 procesa la entrada en bloques de 512 bits y produce un resumen de 128 bits: • "hello" → 5d41402abc4b2a76b9719d911017c592 • "Hello" → 8b1a9953c4611296a827abf8c47804d7 • Incluso un cambio de un solo carácter produce un hash completamente diferente Este "efecto avalancha" hace que MD5 sea útil para detectar corrupción de datos — si dos archivos tienen el mismo MD5, casi con certeza son idénticos.
Vulnerabilidades de Seguridad de MD5
MD5 se considera criptográficamente comprometido: • Ataques de colisión — se ha demostrado que dos entradas diferentes producen el mismo hash • Ataques de tabla arco iris — tablas de búsqueda precalculadas pueden revertir hashes comunes • Cracking con GPU — miles de millones de hashes MD5 pueden calcularse por segundo NUNCA debe usarse MD5 para: • Almacenar contraseñas (usar bcrypt, scrypt o Argon2) • Firmas digitales o certificados • Aplicaciones de seguridad crítica
Dónde se Sigue Usando MD5
A pesar de sus fallas de seguridad, MD5 sigue siendo útil para fines no relacionados con la seguridad: • Verificación de integridad de archivos — comprobar si un archivo descargado está corrupto • Checksums — comparar versiones de archivos en sistemas de respaldo • Caché — generar claves de caché a partir de contenido • Deduplicación — identificar rápidamente archivos duplicados • Sistemas heredados — muchos sistemas más antiguos aún usan MD5 y no pueden actualizarse fácilmente
Try it yourself
Generar UUIDAcerca de MD5
MD5 fue presentado como una mejora sobre MD4 en 1992 y fue ampliamente adoptado para firmas digitales y certificados SSL en los años 90. En 2004, investigadores demostraron ataques de colisión prácticos, y para 2008 se probó que podían crearse certificados SSL falsificados usando colisiones MD5. Hoy está obsoleto para usos de seguridad, pero sigue siendo una de las funciones hash más ubicuas en la informática.
FAQ
- ¿Qué significa MD5?
- MD5 significa Message Digest Algorithm 5 (Algoritmo de Resumen de Mensaje 5).
- ¿Es seguro MD5 para contraseñas?
- No. MD5 es rápido de calcular, lo que facilita su descifrado con fuerza bruta o tablas arco iris. Para contraseñas, usa un algoritmo de hashing lento diseñado específicamente para ese propósito, como bcrypt, scrypt o Argon2.
- ¿Cuál es la longitud de un hash MD5?
- Un hash MD5 siempre tiene 128 bits (16 bytes), que cuando se codifica como hexadecimal tiene exactamente 32 caracteres de longitud.