Saltar al contenido principal
Z

MD5 vs SHA-1

MD5 vs SHA-1 compared — length, speed and security. Both are broken for security; here is what each is still useful for.

MD5 (128-bit) and SHA-1 (160-bit) are both older hash functions that are broken for security — practical collisions exist for both. Neither should be used for signatures or passwords; use SHA-256 instead.

MD5 vs SHA-1 at a glance

MD5 SHA-1
Output 128-bit (32 hex) 160-bit (40 hex)
Speed Faster Fast
Collisions Broken Broken
Safe for security? No No

When to use MD5

Use MD5 only for non-security checksums (deduplication, corruption checks).

When to use SHA-1

Use SHA-1 only where a legacy system requires it; prefer SHA-256 for anything new.

Tools for MD5 & SHA-1

MD5 vs SHA-1

¿Qué algoritmos admite la herramienta?

MD4, MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-384, SHA3-512, Keccak-256 (la variante usada en Ethereum), CRC-32 y NTLM.

¿Por qué no incluye MD2, MD6 ni Whirlpool?

MD2 quedó obsoleto (deprecated) desde 1996 y no existe una implementación en JS mantenida que sea lo bastante ligera para incluir. MD6 fue solo un diseño experimental que nunca llegó a usarse en la práctica. Whirlpool requiere una tabla de consulta (lookup table) de hasta 700 líneas; podemos añadirlo si hay suficiente demanda.

¿Es SHA-256 una buena opción?

Para la mayoría de los casos de uso actuales, sí: SHA-256 es rápido, tiene amplio soporte y se considera seguro. Usa SHA3-256 o SHA-512 si necesitas alejarte por completo de la familia MD/SHA-1. Para almacenar contraseñas, utiliza siempre una función de derivación de claves (KDF) dedicada como Argon2 o bcrypt, nunca un hash sin más.

¿Necesitas una herramienta enfocada en un solo algoritmo?

Prueba nuestras páginas específicas: Generador de Hash MD5, Generador de Hash SHA-256, Generador de Hash SHA-1 y Generador de Hash Keccak-256.

¿En qué se diferencia Keccak-256 de SHA3-256?

Keccak-256 es la versión original del algoritmo Keccak, sin cambios en el padding; SHA3-256 es la versión estandarizada por el NIST, con un padding de bytes ligeramente distinto. Ambos producen resultados diferentes para la misma entrada. Ethereum utiliza Keccak-256 (la función keccak256() en Solidity).