MD5 (técnicamente llamado MD5 Message-Digest Algorithm) es una función de hash criptográfico cuyo objetivo principal es verificar que un archivo no ha sido alterado.
En lugar de confirmar que dos conjuntos de datos son idénticos comparando los datos brutos, MD5 lo hace produciendo una suma de comprobación en ambos conjuntos, y luego comparando las sumas de comprobación para verificar que son las mismas.
MD5 tiene ciertos defectos, por lo que no es útil para aplicaciones de cifrado avanzado, pero es perfectamente aceptable utilizarlo para verificaciones de archivos estándar.
Uso de un verificador MD5 o generador MD5
Microsoft File Checksum Integrity Verifier (FCIV) es una calculadora gratuita que puede generar la suma de comprobación MD5 a partir de archivos reales y no sólo texto. Consulte Cómo verificar la integridad de los archivos en Windows con FCIV para aprender a usar este programa de línea de comandos.
Una manera fácil de obtener el hash MD5 de una cadena de letras, números y símbolos es con la herramienta Miracle Salad MD5 Hash Generator. También existen muchos otros, como MD5 Hash Generator, PasswordsGenerator y OnlineMD5.
Cuando se utiliza el mismo algoritmo de hash, se obtienen los mismos resultados. Esto significa que puede usar una calculadora MD5 para obtener la suma de comprobación MD5 de un texto en particular y luego usar una calculadora MD5 totalmente diferente para obtener exactamente los mismos resultados. Esto puede repetirse con cada herramienta que genere una suma de comprobación basada en la función hash MD5.
Historia y Vulnerabilidades de MD5
MD5 fue inventado por Ronald Rivest, pero es sólo uno de sus tres algoritmos.
La primera función hash que desarrolló fue MD2 en 1989, que fue construida para computadoras de 8 bits. Aunque MD2 todavía está en uso, no está destinado a aplicaciones que necesiten un alto nivel de seguridad, ya que se ha demostrado que es vulnerable a varios ataques.
El MD2 fue reemplazado por el MD4 en 1990. MD4 fue hecho para máquinas de 32 bits y fue mucho más rápido que MD2, pero también demostró tener debilidades y ahora es considerado obsoleto por el Internet Engineering Task Force.
MD5 fue lanzado en 1992 y también fue construido para máquinas de 32 bits. MD5 no es tan rápido como MD4, pero se considera más seguro que las implementaciones anteriores de MDx.
Aunque MD5 es más seguro que MD2 y MD4, otras funciones de hash criptográficas, como SHA-1, han sido sugeridas como una alternativa, ya que MD5 también ha demostrado tener fallas de seguridad.
El Instituto de Ingeniería de Software de la Universidad Carnegie Mellon tiene esto que decir sobre MD5: «Los desarrolladores de software, las autoridades de certificación, los propietarios de sitios web y los usuarios deben evitar utilizar el algoritmo MD5 en cualquier capacidad. Como se ha demostrado en investigaciones anteriores, debe considerarse criptográficamente roto e inapropiado para su uso posterior.»
En 2008, el MD6 fue sugerido al Instituto Nacional de Estándares y Tecnología como una alternativa al SHA-3. Puede leer más sobre esta propuesta aquí.
Más información sobre el MD5 Hash
Los hashes MD5 tienen una longitud de 128 bits y se muestran normalmente en su equivalente de valor hexadecimal de 32 dígitos. Esto es cierto sin importar cuán grande o pequeño sea el archivo o el texto.
Un ejemplo de esto es el valor hexadecimal 120EA8A25E25E5D487BF68B5F7096440019, del cual la traducción de texto plano es «This is a test». Añadiendo más texto para que diga «Esta es una prueba para demostrar que la longitud del texto no importa», se traduce a un valor totalmente diferente pero con el mismo número de caracteres: 6c16fcac44da359e1c3d81f1918171735b.
De hecho, incluso una cadena con cero caracteres tiene un valor hexadecimal de d41d8cd98f98f00b204e980099998ecf8427e, y si se utiliza incluso un período se obtiene el valor 5058f1af8388633f609cadb75a75dc9d.
MD5 (técnicamente llamado MD5 Message-Digest Algorithm) es una función de hash criptográfico cuyo objetivo principal es verificar que un archivo no ha sido alterado.
En lugar de confirmar que dos conjuntos de datos son idénticos comparando los datos brutos, MD5 lo hace produciendo una suma de comprobación en ambos conjuntos, y luego comparando las sumas de comprobación para verificar que son las mismas.
MD5 tiene ciertos defectos, por lo que no es útil para aplicaciones de cifrado avanzado, pero es perfectamente aceptable utilizarlo para verificaciones de archivos estándar.