Inicio › Herramientas para desarrolladores › Generador de hash SHA-1

Generador de hash SHA-1

Escribe o pega texto para ver su hash SHA-1 al instante, o suelta archivos para obtener sus checksums SHA-1. Cambia entre hex y Base64, añade una clave para HMAC-SHA1, reproduce un ID de blob de Git y compara con un hash esperado. Todo se ejecuta localmente en tu navegador.

Última actualización:

0 caracteres · 0 bytes
Publicidad
Publicidad

Cómo usar Generador de hash SHA-1

  1. Elige Texto o Archivos. Escribe o pega texto, o suelta uno o más archivos en el recuadro.
  2. Lee el SHA-1 debajo de la entrada: se actualiza mientras escribes y aparece en cuanto se procesa un archivo.
  3. Elige el formato: hex (40 caracteres, opcionalmente en mayúsculas) o Base64 (28 caracteres).
  4. Opcional: marca HMAC-SHA1 e introduce una clave para firmar un mensaje, o Hash de blob de Git para obtener el ID de objeto que Git daría al archivo.
  5. Pega un hash esperado en el cuadro de comparación para verificar una descarga y luego copia o descarga el resultado.

Vectores de prueba SHA-1

Valores conocidos para comprobar cualquier implementación de SHA-1 (ejemplos de FIPS 180-4 y referencias habituales). Escribe la entrada arriba sin las comillas.

EntradaSHA-1
"" (cadena vacía)da39a3ee5e6b4b0d3255bfef95601890afd80709
"abc"a9993e364706816aba3e25717850c26c9cd0d89d
"abc" en Base64qZk+NkcGgWq6PiVxeFDCbJzQ2J0=
"The quick brown fox jumps over the lazy dog"2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
HMAC-SHA1, clave "key", misma frasede7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9
Blob de Git de un archivo vacíoe69de29bb2d1d6434b8b29ae775ad8c2e48c5391

Cómo funciona SHA-1

SHA-1 rellena el mensaje con un bit 1, ceros y la longitud del mensaje en 64 bits para que ocupe bloques completos de 512 bits. Cada bloque se expande en 80 palabras de 32 bits, y 80 rondas de rotaciones, sumas y las funciones bit a bit Ch, Parity y Maj las mezclan en cinco palabras de estado de 32 bits (A a E). Tras el último bloque, las cinco palabras, escritas una tras otra, forman el hash de 160 bits.

Un ID de blob de Git es simplemente SHA-1("blob " + tamaño + "\0" + contenido). Por eso git hash-object da un valor distinto de sha1sum para el mismo archivo.

SHA-1 en la línea de comandos

TareaComando
Hash de un archivo (Linux)sha1sum file.zip
Hash de un archivo (macOS)shasum -a 1 file.zip
Hash de un archivo (Windows PowerShell)Get-FileHash file.zip -Algorithm SHA1
Hash de un archivo (Windows cmd)certutil -hashfile file.zip SHA1
Hash de texto sin salto de líneaprintf '%s' 'abc' | sha1sum
ID de objeto Git de un archivogit hash-object file.txt
HMAC-SHA1 con OpenSSLprintf '%s' 'message' | openssl dgst -sha1 -hmac 'key'

Preguntas frecuentes

¿Qué es SHA-1?

SHA-1 (Secure Hash Algorithm 1) es una función hash publicada por el NIST en 1995 y especificada en FIPS 180-4. Convierte cualquier entrada en un valor de 160 bits, que normalmente se escribe como 40 caracteres hexadecimales. Por ejemplo, el SHA-1 de "abc" empieza por a9993e36 (el valor completo está en la tabla de vectores de prueba de abajo).

¿SHA-1 sigue siendo seguro?

No frente a colisiones. En 2017 el ataque SHAttered produjo dos archivos PDF diferentes con el mismo SHA-1, y más tarde los ataques de prefijo elegido abarataron aún más las colisiones. No uses SHA-1 para firmas digitales ni certificados. Sigue siendo válido como checksum para detectar corrupción accidental, por compatibilidad con sistemas antiguos y dentro de HMAC-SHA1, que no se ve afectado por estos ataques de colisión.

¿Por qué mi SHA-1 es distinto al de otra herramienta?

El hash abarca cada byte. Esta herramienta procesa el texto como UTF-8 exactamente como se escribe. Un salto de línea final (echo añade uno), los finales de línea CRLF de Windows, espacios extra o una codificación de texto distinta cambian el resultado. Usa printf '%s' en lugar de echo en la línea de comandos para evitar el salto de línea.

¿Cómo usa Git SHA-1?

Git nombra cada objeto con el SHA-1 de una cabecera más el contenido. Para un archivo (blob) es el texto "blob ", el tamaño en bytes, un byte cero y luego el contenido. Marca Hash de blob de Git para obtener el mismo valor que git hash-object. Un archivo vacío da el ID de blob que empieza por e69de29b.

¿Qué es HMAC-SHA1?

HMAC-SHA1 combina una clave secreta con SHA-1 (RFC 2104) para autenticar un mensaje. Lo usan las firmas de OAuth 1.0, muchas firmas de webhooks y los códigos TOTP de las apps de autenticación (RFC 6238). HMAC-SHA1 se sigue considerando seguro porque su seguridad no depende de la resistencia a colisiones de SHA-1.

¿Cómo obtengo un checksum SHA-1 en mi computadora?

En Linux ejecuta sha1sum archivo, en macOS ejecuta shasum archivo (SHA-1 es el predeterminado) o shasum -a 1 archivo, y en Windows PowerShell ejecuta Get-FileHash archivo -Algorithm SHA1. La herramienta del Símbolo del sistema certutil -hashfile archivo SHA1 también funciona.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Codificadores, hashes y criptografía →