MD5 y SHA-256

Calcula MD5 (legado) y SHA-256 con Web Crypto en el navegador.

Descripción

Ron Rivest creó MD5 en 1991 en el MIT — el mismo Ron Rivest de la R en RSA — como sucesor de MD4. La idea central de una función hash es transformar cualquier entrada en una secuencia de bits de longitud fija de forma determinista e irreversible: la misma entrada siempre produce el mismo hash, entradas distintas producen hashes completamente diferentes, y es computacionalmente inviable recuperar la entrada a partir de la salida. Esa propiedad de sentido único es lo que distingue un hash de un cifrado: no existe descifrado, solo cálculo hacia adelante. En paralelo, la NSA desarrolló la familia SHA con el NIST — SHA-1 en 1993, SHA-2 con SHA-256 y SHA-512 en 2001 — como alternativas con salidas más largas y mayor resistencia a colisiones.

La ruptura del MD5 comenzó en los años 90: Hans Dobbertin encontró debilidades internas en 1996. En 2004, Wang Xiaoyun y su equipo demostraron la primera colisión completa — dos entradas distintas produciendo el mismo hash de 128 bits. El ataque práctico más dramático llegó en 2008: investigadores usaron colisiones de MD5 para falsificar un certificado de autoridad de certificación legítima, lo que habría permitido crear certificados HTTPS aceptados por todos los navegadores. En 2012, el malware Flame usó una técnica similar para hacerse pasar por una actualización firmada de Microsoft. SHA-1 siguió el mismo camino: el ataque SHAttered de Google en 2017 demostró la primera colisión real de SHA-1 usando 110 años-GPU de cómputo.

Hoy, MD5 y SHA-1 se consideran rotos para fines criptográficos. MD5 aún tiene usos legítimos donde las colisiones intencionales no son una amenaza — verificar la integridad de una descarga contra un checksum publicado por el mismo servidor, por ejemplo. SHA-256 sigue siendo seguro: es lo que usa Bitcoin para minar bloques, lo que usa Git en los commits desde la versión 2.29 y lo que usa la mayoría de los certificados TLS como base de firma. Un detalle que confunde a muchos: SHA-256 no es adecuado para almacenar contraseñas directamente porque es demasiado rápido — una GPU moderna puede probar miles de millones de hashes por segundo. Para contraseñas, usa bcrypt, scrypt o Argon2, que son deliberadamente lentos y resistentes a la aceleración por hardware.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Uso — Integridade de arquivo: comparar hash antes e depois do download.

Guía de la herramienta

  • Qué es una función hash Mapea datos de cualquier longitud a un digest de tamaño fijo, prácticamente irreversible. Un cambio mínimo en la entrada cambia por completo la salida.

  • Qué son MD5 y SHA-256 MD5 es antiguo y no debe usarse para seguridad; sigue apareciendo en checksums heredados. SHA-256 pertenece a la familia SHA-2 y sirve para integridad y muchos usos criptográficos modernos.

  • Qué hace la herramienta Calcula hashes de tu texto en el navegador.

  • Por qué usarla Verificar un archivo descargado contra un hash publicado, depurar, pipelines que aún mencionan MD5 por compatibilidad.

Fragmentos de Código

Ejemplo de código
Integridade de arquivo: comparar hash antes e depois do download.

Uso

Integridade de arquivo: comparar hash antes e depois do download.

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.