Gerador de Hash SHA-1

Gere o hash SHA-1 de qualquer texto online, em tempo real. SHA-1 produz 40 caracteres hexadecimais.

Gerador de Hash SHA-1

Digite ou cole o texto para calcular o hash SHA-1 em tempo real. Processamento 100% no navegador — nenhum dado é enviado ao servidor.

SHA-1 está depreciado para uso em segurança — colisões foram demonstradas. Use apenas para checksums e sistemas legados.
0 bytes (UTF-8)

O que é SHA-1?

SHA-1 (Secure Hash Algorithm 1) é uma função de hash criptográfica desenvolvida pela NSA e publicada pelo NIST em 1995. Ela transforma qualquer entrada em uma sequência fixa de 40 caracteres hexadecimais (160 bits).

Entrada:  "hello"
SHA-1:    aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

Durante anos foi o algoritmo padrão para assinaturas digitais, certificados SSL e controle de versão de código.

Histórico e depreciação do SHA-1

SHA-1 foi considerado seguro por décadas, mas sua fragilidade foi sendo demonstrada progressivamente:

  • 2005: pesquisadores da Shandong University descreveram um ataque teórico mais eficiente que força bruta
  • 2011: NIST recomendou migração para SHA-2 em todos os novos sistemas
  • 2015: Microsoft, Google e Mozilla anunciaram que navegadores parariam de aceitar certificados SHA-1
  • 2017: O ataque SHAttered (Google e CWI Amsterdam) gerou pela primeira vez dois arquivos PDF diferentes com o mesmo hash SHA-1 — provando colisões na prática
  • 2019: O Git iniciou suporte experimental a SHA-256 como alternativa ao SHA-1 para repositórios novos

Hoje, SHA-1 está formalmente depreciado para qualquer aplicação de segurança.

SHA-1 vs SHA-256

CaracterísticaSHA-1SHA-256
Bits de saída160256
Caracteres hex4064
ColisõesDemonstradas (SHAttered, 2017)Nenhuma conhecida
Status de segurançaDepreciadoSeguro
Velocidade relativaRápidoRápido
Recomendado paraChecksums legadosTodas as aplicações modernas

A migração de SHA-1 para SHA-256 é simples na maioria dos sistemas e fortemente recomendada.

Casos de uso legados do SHA-1

Apesar de depreciado para segurança, SHA-1 ainda aparece em contextos específicos:

  • Git (versões antigas): o Git historicamente usa SHA-1 para identificar commits, árvores, blobs e tags. Repositórios existentes com milhões de objetos SHA-1 continuarão funcionando
  • Compatibilidade com sistemas antigos: APIs legadas e protocolos antiquados que não foram atualizados
  • Checksums não-críticos: verificação de integridade em contextos onde segurança criptográfica não é necessária
  • Análise forense: examinar hashes de arquivos em investigações que envolvem sistemas mais antigos

O ataque SHAttered (2017)

Em fevereiro de 2017, pesquisadores do Google e do CWI Amsterdam publicaram o primeiro exemplo prático de colisão SHA-1: dois arquivos PDF diferentes com exatamente o mesmo hash SHA-1.

O ataque custou aproximadamente 6.500 anos-CPU e 110 anos-GPU de processamento — computacionalmente caro, mas viável para atores com recursos como estados nacionais ou grandes organizações criminosas. Isso encerrou definitivamente o debate sobre a segurança prática do SHA-1.

Perguntas frequentes sobre SHA-1

Ainda posso usar SHA-1 para verificar integridade de downloads?

Para verificação simples de integridade (garantir que um arquivo não foi corrompido no download), SHA-1 ainda é funcional. Porém, se a questão é autenticidade (garantir que o arquivo não foi substituído por um adversário), use SHA-256 ou SHA-512.

O Git ainda usa SHA-1?

Sim, repositórios Git criados com versões antigas (a grande maioria) usam SHA-1 internamente. O Git 2.29+ suporta SHA-256 para novos repositórios (--object-format=sha256), mas repositórios existentes continuam em SHA-1. A migração de repositórios existentes é um processo complexo.

Qual é o SHA-1 de uma string vazia?

O hash SHA-1 de uma string vazia é: da39a3ee5e6b4b0d3255bfef95601890afd80709

Por que SHA-1 tem 40 caracteres e não 32 como MD5?

SHA-1 gera 160 bits de saída contra 128 bits do MD5. Como cada byte se representa com 2 dígitos hexadecimais: 160 ÷ 8 = 20 bytes × 2 = 40 caracteres. O MD5 com 128 bits: 128 ÷ 8 = 16 bytes × 2 = 32 caracteres.

Veja também