SHA-1 produce un resumen determinista de 160 bits, normalmente escrito con 40 caracteres hexadecimales. Se utilizó ampliamente para integridad de archivos, firmas y almacenamiento de contraseñas, pero las colisiones prácticas hacen que no deba elegirse para nuevas aplicaciones de seguridad.
El generador calcula el hash de los bytes exactos de la entrada. La búsqueda compara después cada resumen con nuestro corpus multihash. Puede recuperar un texto en claro ya indexado, incluidos valores de nuestra propia investigación, pero no reconstruir texto arbitrario a partir del resumen.
El resumen SHA-1 de hello es aa f4 c6 1d dc c5 e8 a2 da be de 0f 3b 48 2c d9 ae a9 43 4d sin espacios. Hello, hello y hello\n producen resultados diferentes.
Que no haya coincidencia solo significa que el texto en claro no está en el corpus consultado. Los hashes con sal, las cadenas aleatorias, las entradas largas y las codificaciones poco habituales tienen menos probabilidades de coincidir. Para varios resúmenes, la API ofrece búsqueda por lotes en la misma base lógica.
No utilice SHA-1 para nuevas firmas, certificados ni diseños de seguridad. Las contraseñas deben usar Argon2id, scrypt o bcrypt con una sal única. Añadir sal a SHA-1 impide las tablas precalculadas, pero no corrige su velocidad excesiva frente a intentos sin conexión.
Estos ejemplos calculan el hash exacto del texto «hello» sin salto de línea final. Un espacio o un salto de línea cambiaría el resumen.
printf %s 'hello' | sha1sumecho hash('sha1', 'hello');const bytes = new TextEncoder().encode('hello');
const digest = await crypto.subtle.digest('SHA-1', bytes);SHA-1 es más largo que MD5, pero ya no resiste colisiones. SHA-256 y SHA-512 pertenecen a SHA-2 y siguen siendo adecuados para integridad cuando se usan correctamente, aunque tampoco son funciones para almacenar contraseñas.
SHA-1 produce 160 bits, es decir, 20 bytes o 40 caracteres hexadecimales.
No. Md5Decrypt busca en su corpus una coincidencia ya calculada; no invierte matemáticamente SHA-1.
Las colisiones prácticas demuestran que pueden construirse contenidos diferentes con el mismo resumen, lo que invalida su uso moderno para integridad frente a atacantes y firmas.
Una sal evita las tablas precalculadas, pero SHA-1 sigue siendo demasiado rápido. Utilice una KDF de contraseñas configurable como Argon2id, scrypt o bcrypt.
El texto en claro puede estar ausente, llevar sal, ser largo o aleatorio, o haberse codificado de forma distinta a la esperada.
La búsqueda compara resúmenes SHA-1 exactos con la base de datos. El verificador de archivos es útil para comprobar integridad, pero SHA-1 ya no es adecuado para firmas modernas ni almacenamiento de contraseñas.
Se han demostrado colisiones prácticas. Ya no debe proteger firmas, certificados ni sistemas nuevos.
Calcula el resumen de un archivo para compararlo con un valor publicado. Esta verificación es independiente de una búsqueda en la base de datos.
La base de datos solo puede devolver texto ya indexado que coincida exactamente con el resumen.
Estos comandos calculan el hash de los cinco bytes UTF-8 de «hello», sin añadir un salto de línea final.
printf %s "hello" | sha1sumhash('sha1', 'hello');const bytes = new TextEncoder().encode('hello');
const digest = await crypto.subtle.digest('SHA-1', bytes);