MD5 (técnicamente llamado MD5 Message-Digest Algorithm) es una función hash criptográfica cuyo propósito 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 sin procesar, MD5 lo hace generando una suma de verificación en ambos conjuntos y luego comparando las sumas de verificación para verificar que sean iguales.
MD5 tiene ciertas fallas, por lo que no es útil para aplicaciones de cifrado avanzadas, pero es perfectamente aceptable usarlo para verificaciones de archivos estándar.
Uso de un verificador MD5 o un generador MD5
Microsoft File Checksum Integrity Verifier (FCIV) es una calculadora gratuita que puede generar la suma de verificación MD5 a partir de archivos reales y no solo de texto. Consulte nuestro artículo sobre 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 Generador de hash MD5 de Miracle Salad. También existen muchos otros, como MD5 Hash Generator, PasswordsGenerator y OnlineMD5.
Cuando se usa el mismo algoritmo hash, se producen los mismos resultados. Esto significa que puede usar una calculadora MD5 para obtener la suma de verificación MD5 de un texto en particular y luego usar una calculadora MD5 totalmente diferente para obtener exactamente los mismos resultados. Esto se puede repetir con cada herramienta que genera una suma de comprobación basada en esta función hash.
Historial y vulnerabilidades de MD5
MD5 fue inventado por Ronald Rivest, pero es solo uno de sus tres algoritmos.
La primera función hash que desarrolló fue MD2 en 1989, que se creó para computadoras de 8 bits. Aunque todavía está en uso, MD2 no está diseñado para aplicaciones que necesitan un alto nivel de seguridad, ya que se demostró que es vulnerable a varios ataques.
MD2 fue reemplazado por MD4 en 1990. MD4 se creó para máquinas de 32 bits y era mucho más rápido que MD2, pero también se demostró que tenía debilidades y ahora el Grupo de Trabajo de Ingeniería de Internet lo considera obsoleto.
MD5 se lanzó en 1992 y también se creó para máquinas de 32 bits. 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, se han sugerido otras funciones hash criptográficas, como SHA-1, como alternativa, ya que también se ha demostrado que MD5 tiene 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 el uso del algoritmo MD5 en cualquier capacidad. Como ha demostrado la investigación anterior, debe considerarse criptográficamente roto e inadecuado para su uso posterior.
MD6 ha sido sugerido al Instituto Nacional de Estándares y Tecnología como una alternativa a SHA-3. Puedes leer más sobre esta propuesta aquí.
Más información sobre el hash MD5
Los hashes MD5 tienen una longitud de 128 bits y normalmente se muestran en su valor equivalente hexadecimal de 32 dígitos. Esto es cierto sin importar cuán grande o pequeño sea el archivo o el texto.
Este es un ejemplo:
- Texto sin formato: Esto es una prueba.
- Valor hexadecimal: 120EA8A25E5D487BF68B5F7096440019
Cuando se agrega más texto, el hash se traduce a un valor totalmente diferente pero con la misma cantidad de caracteres:
- Texto sin formato: Esta es una prueba para mostrar cómo la longitud del texto no importa.
- Valor hexadecimal: 6c16fcac44da359e1c3d81f19181735b
De hecho, incluso una cadena con cero caracteres tiene un valor hexadecimal de d41d8cd98f00b204e9800998ecf8427e, y usar incluso un punto hace que este valor sea: 5058f1af8388633f609cadb75a75dc9d.
Los siguientes son algunos ejemplos más:
Suma de control | Texto sin formato |
bb692e73803524a80da783c63c966d3c | Lifewire es un sitio web de tecnología. |
64adbfc806c120ecf260f4b90378776a | …!… |
577894a14badf569482346d3eb5d1fbc | Bangladesh es un país del sur de Asia. |
42b293af7e0203db5f85b2a94326aa56 | 100+2=102 |
08206e04e240edb96b7b6066ee1087af | supercalifragilisticoespialidoso |
Las sumas de verificación MD5 están diseñadas para no ser reversibles, lo que significa que no puede mirar la suma de verificación e identificar los datos ingresados originales.
Por ejemplo, aunque a= 0cc175b9c0f1b6a831c399e269772661 y p= 83878c91171338902e0fe0fb97a8c47a, combinar los dos para hacer ap produce una suma de comprobación totalmente diferente y no relacionada: 62c428533830d84fd8bc77bf402512fc, que no se puede separar para revelar cualquiera de las letras.
Dicho esto, hay muchos "descifradores" MD5 que se anuncian como capaces de descifrar un valor MD5.
Sin embargo, lo que realmente sucede con un descifrador, o "convertidor inverso MD5", es que crean la suma de verificación para muchos valores y luego le permiten buscar su suma de verificación en su base de datos para ver si tienen una coincidencia que puede mostrarle los datos originales.
MD5Decrypt es una herramienta en línea gratuita que sirve como una búsqueda inversa MD5, pero solo funciona con palabras y frases comunes.
Ver ¿Qué es una suma de comprobación? para obtener más ejemplos y algunas formas gratuitas de generar un valor hash MD5 a partir de archivos.