Qué hace esta herramienta
Calcula el hash SHA-1 de cualquier texto o archivo en tu navegador, devolviendo un digest hexadecimal de 40 caracteres. SHA-1 produce una salida de 160 bits y fue el sucesor de MD5 a finales de los 90.
Cuándo SHA-1 sigue apareciendo
- git identifica commits, blobs y árboles por su SHA-1 (git está migrando a SHA-256, pero para 2026 la mayoría de repos siguen en SHA-1).
- Certificados X.509 antiguos y huellas digitales de claves PGP.
- HMAC-SHA-1 sigue en uso en algunas integraciones AWS y muchas APIs heredadas — HMAC sigue siendo seguro aunque la primitiva esté debilitada.
- Sumas de comprobación de integridad casual donde la pertenencia a un sistema heredado fuerza la elección.
Cuándo SHA-1 NO es la herramienta adecuada
- Cualquier integridad nueva sensible a seguridad. Las colisiones contra SHA-1 son prácticas desde 2017 (ataque SHAttered de Google). NIST lo considera obsoleto desde 2011.
- Firmas digitales nuevas. Usa SHA-256 o SHA-3.
- Hashing de contraseñas. Usa bcrypt/scrypt/Argon2 — el problema con SHA-1 aquí no es la fuerza, es la velocidad.
Vectores de prueba
- Cadena vacía
""→da39a3ee5e6b4b0d3255bfef95601890afd80709 "abc"→a9993e364706816aba3e25717850c26c9cd0d89d"The quick brown fox jumps over the lazy dog"→2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
Cómo funciona
SHA-1 procesa la entrada en bloques de 512 bits con 80 rondas de operaciones bit a bit y mezcla. Esta implementación usa crypto.subtle.digest (SHA-1), nativo del navegador y muy rápido.
Para archivos, leemos en chunks y se hashea localmente. Nada se sube.
Notas
¿Es git inseguro entonces? No exactamente. Para git, lo que importa es que un atacante no pueda colar un commit malicioso con el mismo SHA-1 que uno legítimo. Esa colisión es factible con recursos serios pero el coste todavía protege la mayoría de repos. Aun así, git está migrando.
¿Por qué git rev-parse HEAD me da algo distinto? Porque git hashea blob <len>\0<contenido>, no el contenido crudo. Si quieres reproducir un hash de git, usa git hash-object.
¿shasum por defecto es SHA-1? Sí — shasum sin flag es SHA-1. Para SHA-256 necesitas shasum -a 256 o sha256sum.
Herramientas relacionadas
- SHA-256 — el reemplazo moderno
- MD5 — el que SHA-1 sustituyó
- SHA-512 — más fuerte, más rápido en CPUs de 64 bits
- Generador de hashes — los cinco lado a lado