ToolActToolAct

Herramienta de Verificación MD5 de Archivo

Calcula el hash MD5 de un archivo y verifica su integridad

Subir Archivo

Arrastra y suelta el archivo aquí

Soporta cualquier tipo y tamaño de archivo

Verificar Suma

¿Qué es el MD5 de Archivo?

MD5 (Message-Digest Algorithm 5) es un algoritmo hash ampliamente utilizado que mapea el contenido de cualquier archivo a un resumen de longitud fija de 128 bits (32 caracteres hexadecimales). Cualquier cambio mínimo en el contenido del archivo produce un valor MD5 completamente diferente. La herramienta de verificación MD5 de archivo se usa comúnmente para verificar la integridad de archivos, asegurando que no hayan sido alterados o corruptos durante la transferencia o descarga. File MD5 se usa a menudo para comprobar rápidamente si un archivo permanece igual o coincide con una suma publicada. El algoritmo es rápido y muy compatible, pero los ataques de colisión conocidos hacen que ya no sea adecuado para decisiones criptográficas de confianza. MD5 puede seguir apareciendo en descargas antiguas, detección simple de duplicados o flujos de compatibilidad. Para verificación de integridad con relevancia de seguridad, conviene usar SHA-256 o algoritmos más fuertes y obtener la suma de una fuente confiable.

Cómo usar

Cómo usar

  1. Haz clic en el área de carga o arrastra un archivo a la página
  2. Haz clic en el botón 'Calcular MD5'
  3. Espera a que el cálculo se complete y visualiza el valor MD5
  4. Puedes introducir un valor MD5 conocido en la sección de verificación para comparar

Limitaciones de verificación

  • MD5 es útil para comprobaciones rápidas de identidad de archivos, pero no es suficientemente resistente a colisiones para verificación de seguridad crítica.
  • Para descargas o publicaciones, compara hashes de una fuente confiable y prefiere SHA-256 cuando esté disponible.

Casos de uso

Generar un checksum MD5 heredado para un archivoSelecciona un archivo y calcula su MD5 de 128 bits con retroalimentación de progreso, luego copia el resumen hexadecimal en minúsculas para sistemas que aún requieren este checksum heredado. El archivo se lee como un Blob y se procesa hash completamente dentro del navegador — nunca se sube, por lo que el cálculo funciona con documentos privados o muestras de proveedores sin enviar el contenido a ningún lugar.
Comparar un archivo contra un MD5 esperadoPega un valor MD5 conocido y verifica si el resumen de 32 caracteres generado coincide. Esto cubre verificaciones de transferencia, requisitos de proveedores, detección de duplicados y archivos de lanzamiento antiguos que aún publican valores MD5. Usa algoritmos más robustos cuando el checksum afecte a la confianza o seguridad — los ataques de colisión conocidos de MD5 lo hacen inadecuado como evidencia de manipulación.
Evitar usar MD5 como garantía de seguridadLa herramienta sirve para trabajo de compatibilidad y verificaciones rápidas de integridad, pero MD5 está comprometido por colisiones desde el ataque de Wang Xiaoyun en 2004, y el malware Flame de 2012 demostró una falsificación real de colisión MD5 contra firmas de código de Microsoft. Para verificación sensible a la seguridad, cambia a la herramienta file-hash con SHA-256 o superior. El diseño local mantiene el contenido del archivo en tu dispositivo — solo el resumen se mueve entre la página y el campo de comparación.
Cotejar MD5 contra descargas de espejosLos espejos de código abierto y las páginas de firmware antiguas aún publican sumas MD5 para cada versión. Genera el resumen de 32 caracteres del archivo descargado y confirma que coincide con la cadena listada antes de flashear un dispositivo o instalar el artefacto. La diferencia entre minúsculas y mayúsculas en hex es una discrepancia silenciosa frecuente, así que la comparación se realiza sobre la forma normalizada.
Pasar a SHA-256 para todo lo relacionado con confianzaMD5 sirve para detectar corrupción accidental (un bit invertido sigue produciendo un resumen de 128 bits totalmente diferente), pero el mismo resumen puede ser falsificado por un atacante. Cambia a la opción SHA-256 o SHA-512 siempre que el checksum provenga de un tercero y el archivo se use en producción — SHA-256 es resistente a colisiones y sigue siendo el estándar para lanzamientos firmados.

Principio técnico

MD5 es el Message-Digest Algorithm 5 definido en RFC 1321 (Ron Rivest, 1992). Produce un digest de 128 bits / 16 bytes mostrado como 32 caracteres hexadecimales. El algoritmo sigue la construcción Merkle-Damgård: la entrada se rellena para que su longitud en bits sea congruente con 448 mod 512 (un bit 1 seguido de ceros), se añade la longitud original como entero little-endian de 64 bits y el mensaje rellenado se divide en bloques de 512 bits. Cada bloque actualiza un estado interno de 128 bits (A, B, C, D) inicializado con A = 0x67452301, B = 0xEFCDAB89, C = 0x98BADCFE, D = 0x10325476, ejecutando 64 rondas en cuatro grupos de 16 que aplican las funciones bit a bit F(x,y,z) = (x AND y) OR ((NOT x) AND z), G(x,y,z) = (x AND z) OR (y AND (NOT z)), H(x,y,z) = x XOR y XOR z e I(x,y,z) = y XOR (x OR (NOT z)), combinadas con la constante por ronda T[i] = floor(2^32 * abs(sin(i+1))) y una rotación a la izquierda. El estado final concatenado en little-endian es el digest. El MD5 de la entrada vacía es d41d8cd98f00b204e9800998ecf8427e, útil como verificación de cordura. Los navegadores no exponen MD5 mediante crypto.subtle (la especificación Web Crypto del W3C lo omite a propósito por los ataques de colisión), por lo que esta herramienta usa una implementación de MD5 en JavaScript puro que se ejecuta íntegramente en el navegador. El archivo se carga en memoria como ArrayBuffer y el digest de 16 bytes se calcula de una sola pasada y se muestra como 32 caracteres hexadecimales en minúscula. Como el trabajo corre en el hilo principal, hashear un archivo de varios GB lo ocupa hasta terminar; para archivos muy grandes conviene una herramienta de escritorio que haga streaming desde disco. MD5 está rota criptográficamente para resistencia a colisiones. Wang Xiaoyun y Yu Hongbo publicaron el primer ataque práctico de colisión en 2004 (CRYPTO 2005), reduciendo el coste a unas 2^39 operaciones. En 2008, Sotirov et al. usaron colisiones de prefijo elegido para forjar un certificado intermedio de CA fraudulento, y en 2012 el malware estatal Flame usó una colisión de prefijo elegido en MD5 desconocida hasta entonces para falsificar un certificado de firma de código de Microsoft Terminal Server Licensing. NIST prohibió MD5 para firmas digitales en SP 800-131A en 2011; CMU CERT emitió la nota VU#836068 calificando a MD5 como «no apto para uso ulterior». MD5 sigue siendo aceptable para detectar corrupción accidental (cambiar un bit altera ~64 de los 128 bits de salida por el efecto avalancha) y detección de duplicados sobre entradas confiables, pero no debe usarse cuando un atacante controla o puede predecir cualquiera de las entradas.

  • MD5 produce un resumen de 128 bits / 16 bytes, codificado como 32 caracteres hexadecimales en minúsculas; especificado en RFC 1321 (Rivest, 1992).
  • Constantes del estado inicial A = 0x67452301, B = 0xEFCDAB89, C = 0x98BADCFE, D = 0x10325476; 64 rondas en cuatro grupos de 16 usando las funciones bit a bit F/G/H/I y constantes por ronda T[i] = floor(2^32 * |sin(i+1)|).
  • El MD5 de la entrada vacía es d41d8cd98f00b204e9800998ecf8427e — una verificación rápida de que el pipeline de hashing devuelve un resumen válido.
  • Los navegadores no exponen MD5 vía crypto.subtle (Web Crypto del W3C lo omite a propósito); esta herramienta usa una implementación de MD5 en JavaScript puro que carga el archivo como ArrayBuffer, calcula el digest de 16 bytes en una pasada y lo muestra como 32 caracteres hex en minúscula.
  • Perfil de memoria: el contenido completo del archivo se lee en un único ArrayBuffer antes de hashear, así que archivos de varios GB requieren la memoria de pestaña correspondiente; para archivos más grandes de lo que tu pestaña puede manejar, usa una herramienta de escritorio (md5sum, certutil -hashfile, Get-FileHash) que haga streaming desde disco.
  • Ataques de colisión: Wang y Yu (2004) ~2^39 ops; Sotirov et al. (2008) colisión de prefijo elegido usada para falsificar un certificado de CA fraudulento; malware Flame (2012) usó una colisión de prefijo elegido para falsificar un certificado de firma de código de Microsoft.
  • NIST SP 800-131A prohibió MD5 para firmas digitales en 2011; MD5 es aceptable solo para verificaciones de integridad no adversariales y detección de duplicados — cambia a SHA-256 o superior siempre que el checksum afecte a la confianza.

Ejemplos

MD5 de archivo vacío (constante conocida)

Archivo: empty.txt (0 bytes)

MD5: d41d8cd98f00b204e9800998ecf8427e

Este valor es el MD5 de una entrada vacía -> una rápida verificación
de que la canalización de hashing funciona de extremo a extremo.

(Vector de referencia RFC 1321 para la cadena vacía.)

Verificar un instalador descargado

Archivo: setup.bin (3 bytes, contenido: abc)
MD5 calculado:  900150983cd24fb0d6963f7d28e17f72
MD5 del proveedor: 900150983cd24fb0d6963f7d28e17f72

Coincidencia -> el archivo se copió o descargó correctamente.
No coincide -> vuelve a descargar, los bytes se corrompieron en tránsito.

(El valor MD5 es el vector de referencia RFC 1321 para la entrada de 3 bytes
'abc'. En la práctica, sustituye la entrada por el instalador real;
la salida del algoritmo es determinista.)

Comparar dos versiones de un documento

report-v1.txt  (0 bytes)  -> MD5: d41d8cd98f00b204e9800998ecf8427e
report-v2.txt  (3 bytes, contenido: abc)
                               -> MD5: 900150983cd24fb0d6963f7d28e17f72

Hashes distintos = contenido distinto. Incluso un cambio de un solo carácter
produce un MD5 totalmente distinto, así funcionan las verificaciones de integridad.

(Ambos valores son vectores de referencia MD5 RFC 1321.)

Cadena hello world frente a archivo

MD5("hello")    = 5d41402abc4b2a76b9719d911017c592
MD5("hello\n")  = b1946ac92492d2347c6235b4d2611184

Un salto de línea final cambia el resumen, así que un archivo llamado hello.txt
con ese contenido pero sin \n final coincide con la primera línea, y
uno guardado con \n final coincide con la segunda. Es un
error común al comparar contra un MD5 publicado que se
produjo en un sistema operativo distinto.

Preguntas frecuentes

¿Se sube el archivo a un servidor?

No. El MD5 se calcula localmente en tu navegador usando File API. Los bytes se leen en memoria por trozos y se hashean sin salir del dispositivo. Puedes confirmarlo en la pestaña de Red mientras se calcula.

¿Sigue siendo seguro usar MD5?

Para seguridad no. MD5 está roto desde 2004: las colisiones se pueden generar rápidamente, así que no debe usarse para firmas digitales, almacenamiento de contraseñas ni controles antimanipulación. Sigue siendo útil como checksum rápido para detectar corrupción accidental (errores de descarga, errores de disco).

¿Por qué a veces veo el MD5 en minúsculas y otras en mayúsculas?

MD5 produce 128 bits = 16 bytes = 32 caracteres hexadecimales. Que esos hexadecimales se escriban en mayúsculas o minúsculas es solo una decisión de presentación; los bytes subyacentes son idénticos y cualquier verificador debería comparar sin distinguir entre mayúsculas y minúsculas.

¿De qué tamaño puedo hashear un archivo aquí?

Los navegadores de escritorio modernos manejan varios GB antes de quedarse sin memoria. Los móviles van más justos: lo típico son cientos de MB. Para archivos muy grandes usa un comando del sistema (md5sum en Linux, certutil -hashfile en Windows, md5 en macOS), que lee del disco en streaming.

¿Por qué mi MD5 difiere del que da otra herramienta?

Casi siempre porque la entrada difiere en algún byte: finales de línea distintos (CRLF vs LF), un BOM UTF-8, espacios en blanco al final o una versión distinta del archivo. El hash en sí es determinista, así que la misma entrada produce la misma salida en cualquier implementación de MD5 conforme.

¿Cuál es la diferencia entre el MD5 de un texto y el MD5 de un archivo?

MD5 hashea bytes, no caracteres. El «MD5 de un texto» primero codifica la cadena (normalmente como UTF-8) y luego hashea esos bytes; el «MD5 de un archivo» lee directamente los bytes del archivo. La misma cadena guardada como UTF-8 frente a UTF-16 producirá valores MD5 distintos.

¿Puedo usar MD5 para detectar archivos duplicados?

Sí, con la salvedad de que las colisiones conocidas de MD5 implican que un atacante podría fabricar dos archivos distintos con el mismo MD5. Para detección accidental de duplicados (fotos, descargas), MD5 es rápido y suficientemente fiable. Para deduplicación confiable, usa SHA-256.