Generador de Hash
Calcula hashes (MD5, SHA-1, SHA-256/384/512) y HMAC. Soporta texto o archivo.
Introduce varias líneas para calcular un hash por línea con el mismo algoritmo.
Ejemplos y casos de uso reales
- Verificar integridad de archivos comparando checksums (p. ej., SHA‑256).
- Generar firmas HMAC para pruebas de webhooks.
- Calcular hashes rápidos para deduplicación o claves de caché.
Preguntas frecuentes
- ¿Es seguro MD5?
- MD5 está roto para resistencia a colisiones; usa SHA‑256 o superior para seguridad.
- ¿Dónde se calcula?
- El hash y HMAC se ejecutan localmente en tu navegador.
Generador de hash: guía completa (MD5, SHA, HMAC)
Las funciones de hash condensan una entrada (texto o archivo) en una huella de tamaño fijo. Están en todas partes: verificación de integridad, firmas, indexación, deduplicación, almacenamiento de contraseñas (con sal + KDF), etc. Este artículo explica su funcionamiento, algoritmos disponibles (MD5, SHA‑1, SHA‑256/384/512, SHA‑3), HMAC y limitaciones importantes.
¿Cómo funciona?
Un hash es una transformación unidireccional: es fácil calcular la huella desde los datos, pero (prácticamente) imposible reconstruir la entrada original desde la huella.
Las buenas funciones de hash son rápidas, presentan fuerte efecto avalancha (difusión de bits) y resisten colisiones (dos entradas distintas con la misma huella).
Las huellas tienen longitud fija (p. ej., SHA‑256 = 256 bits) y suelen codificarse en hexadecimal (o Base64).
Aviso
MD5 y SHA‑1 no deben usarse para seguridad. Para almacenar contraseñas, no uses un hash simple: prefiere KDF dedicadas (bcrypt/argon2/scrypt) con sal y factor de trabajo.
Algoritmos y usos recomendados
- MD5 — obsoleto para seguridad (colisiones prácticas), aceptable para checksums no seguros o deduplicación local.
- SHA‑1 — también obsoleto para seguridad (colisiones demostradas). Evitar para firmas/integridad crítica.
- SHA‑256/384/512 — estándares robustos (SHA‑2). SHA‑256 es la opción por defecto a priorizar.
- SHA‑3 — familia más reciente basada en Keccak; rara vez necesaria en navegadores pero relevante en criptografía avanzada.
- HMAC (con SHA‑2/3) — para autenticar un mensaje con secreto compartido (webhooks, firmas de API).
Longitud de huella (bits) — mayor ⇒ menos colisiones
Resumen comparativo de algoritmos
| Algoritmo | Tamaño de huella | Velocidad (≈) | Seguridad actual | Caso de uso |
|---|---|---|---|---|
| MD5 | 128 bits | Muy rápido | Roto (colisiones) | Checksum no seguro, deduplicación local |
| SHA‑1 | 160 bits | Rápido | Roto (colisiones) | Compatibilidad heredada, a reemplazar |
| SHA‑256 | 256 bits | Rápido | Recomendado | Integridad, firmas, almacenamiento de contraseñas (con sal + KDF) |
| SHA‑384 | 384 bits | Medio | Recomendado | Políticas de cumplimiento más estrictas |
| SHA‑512 | 512 bits | Medio | Recomendado | Autenticación, huellas largas, archivos |
HMAC: autenticar un mensaje
HMAC (Hash‑based Message Authentication Code) combina un hash con una clave secreta para garantizar integridad y autenticidad del mensaje.
Fórmula conceptual: HMAC = hash((K ⊕ opad) ∥ hash((K ⊕ ipad) ∥ mensaje)), donde K es la clave (ajustada al tamaño de bloque con padding/truncado).
En la práctica, usa HMAC‑SHA‑256 (o superior) y gestiona las claves de forma segura (longitud suficiente, almacenamiento en servidor, rotación).
Ejemplos reales
- Comparar el checksum de un archivo descargado con el proporcionado por el editor (integridad).
- Firmar un webhook de Stripe/GitHub con HMAC‑SHA‑256 y verificar la firma en el receptor.
- Generar claves de caché estables (hash de contenido) para invalidar automáticamente al cambiar.
Contenido educativo. Elige el algoritmo acorde a tu política de seguridad y requisitos de cumplimiento.