Gerador de hash SHA — SHA-1, SHA-256, SHA-384 e SHA-512
Gere ao vivo os hashes SHA-1, SHA-256, SHA-384 e SHA-512 de qualquer texto usando a Web Crypto API nativa do seu navegador. Nada é enviado para servidor nenhum. Última revisão em 2026-06-19.
- SHA-1
—Legado / apenas integridade — quebrado criptograficamente (colisões), não use para segurança.- SHA-256
—O padrão moderno para impressões digitais, somas de verificação e assinaturas.- SHA-384
—SHA-512 truncado; usado em alguns contextos de TLS e de certificados.- SHA-512
—O maior digest da família SHA-2; mais rápido que o SHA-256 em CPUs de 64 bits.
Para que serve um hash
Um hash criptográfico transforma qualquer entrada em uma impressão digital de tamanho fixo. A mesma entrada sempre produz o mesmo digest, e a mudança de um único caractere produz um digest completamente diferente — o que torna o hash ideal para verificar a integridade de arquivos, comparar conteúdos, eliminar duplicatas e assinar documentos digitalmente. Gerar o hash é um caminho de mão única: não existe como recuperar o texto original a partir do digest.
Qual algoritmo devo usar?
| Algoritmo | Quando usar |
|---|---|
| SHA-1 | Legado / apenas integridade — quebrado criptograficamente (colisões), não use para segurança. |
| SHA-256 | O padrão moderno para impressões digitais, somas de verificação e assinaturas. |
| SHA-384 | SHA-512 truncado; usado em alguns contextos de TLS e de certificados. |
| SHA-512 | O maior digest da família SHA-2; mais rápido que o SHA-256 em CPUs de 64 bits. |
Para qualquer coisa sensível à segurança, use SHA-256 ou superior. SHA-1 e MD5 estão criptograficamente quebrados e não devem ser usados para proteger dados. E lembre-se: senhas exigem um hash lento e com sal (bcrypt, scrypt ou Argon2), nunca um digest SHA puro.
O padrão por trás disso: NIST FIPS 180-4
SHA-1, SHA-256, SHA-384 e SHA-512 não são invenções desta página nem de um fabricante: são definidos pelo NIST, o instituto nacional de padrões e tecnologia dos Estados Unidos, na publicação FIPS 180-4, o Secure Hash Standard. É esse documento que especifica, bit a bit, como cada função deve processar a mensagem — e é por isso que o SHA-256 de um mesmo arquivo dá exatamente o mesmo resultado no seu notebook, num servidor Linux, num celular e em qualquer linguagem de programação. Um hash só é útil porque todo mundo calcula o mesmo valor a partir do mesmo padrão publicado.
O que torna um hash "criptográfico"
Muitas funções embaralham dados, mas uma função de hash criptográfica como o SHA-256 é projetada para cumprir um conjunto preciso de garantias. Entendê-las é a diferença entre usar um hash corretamente e confiar nele para algo que ele nunca foi feito para fazer.
- Determinística. A mesma entrada sempre devolve exatamente o mesmo digest — em qualquer máquina, em qualquer linguagem, hoje ou daqui a dez anos.
- Saída de tamanho fixo. Uma palavra de três letras e um filme de três gigabytes produzem digests do mesmo tamanho (256 bits, no caso do SHA-256).
- Rápida de calcular. Virtude para verificação de integridade e desvantagem para armazenar senhas — daí a exigência de uma função lenta nesse caso.
- Resistente à pré-imagem (mão única). Dado apenas um digest, é computacionalmente inviável encontrar qualquer entrada que o produza. Não existe botão de "descriptografar", porque nada foi criptografado.
- Resistente a colisões. É inviável encontrar dois conteúdos diferentes que compartilhem o mesmo digest — nem mesmo partindo de um arquivo específico e tentando forjar um substituto adulterado. Foi essa propriedade que caiu no MD5 e no SHA-1.
- Efeito avalanche. Inverta um bit da entrada e cerca de metade dos bits da saída também mudam, sem padrão visível, de modo que o hash não revela o quanto duas entradas eram parecidas.
Tamanhos de digest, de relance
O número depois de "SHA" é o tamanho do digest em bits. Como cada caractere hexadecimal codifica 4 bits, a string em hexa sempre tem o tamanho em bits dividido por quatro — dá para identificar o algoritmo só contando os caracteres.
| Algoritmo | Digest (bits) | Caracteres hexa | Bytes |
|---|---|---|---|
| MD5 (quebrado) | 128 | 32 | 16 |
| SHA-1 (quebrado) | 160 | 40 | 20 |
| SHA-224 | 224 | 56 | 28 |
| SHA-256 | 256 | 64 | 32 |
| SHA-384 | 384 | 96 | 48 |
| SHA-512 | 512 | 128 | 64 |
Hash não é criptografia — são três coisas distintas
Estes três termos vivem sendo confundidos, e a confusão gera bugs de verdade. Eles não são intercambiáveis:
- Hash é mão única e determinístico. Você produz um digest a partir do dado, mas não recupera o dado a partir do digest. A finalidade é verificar, não guardar nem esconder.
- Codificação (Base64, URL-encoding) é uma transformação reversível para transporte seguro — qualquer um decodifica. Não oferece sigilo nenhum; apenas reempacota o dado em outro conjunto de caracteres.
- Criptografia é reversível com uma chave. Foi feita para manter o dado secreto de quem não tem essa chave, e o texto original volta exatamente igual. É a única das três que protege confidencialidade.
Portanto, quando alguém diz que "passou o número do cartão por um hash para ficar criptografado", houve um erro de categoria: um hash não é criptografia e não pode ser revertido. Use hash para confirmar que algo não mudou, codificação para transportar dados por um canal de texto e criptografia quando você realmente precisa manter segredo.
Por que o SHA-1 não serve mais para assinaturas
"Quebrado" não é força de expressão: refere-se a ataques publicados que encontraram colisões reais. Em fevereiro de 2017, pesquisadores do Google e do CWI Amsterdam publicaram o SHAttered: dois arquivos PDF diferentes com o mesmo hash SHA-1. Em 2020 veio um ataque ainda mais forte, de prefixo escolhido, que permite ao atacante controlar o começo dos dois documentos em colisão. Em dezembro de 2022 o NIST anunciou a aposentadoria do SHA-1 em todos os usos até 31 de dezembro de 2030, orientando a migração para SHA-2 ou SHA-3.
Para uma assinatura digital isso é fatal. Assinar um documento significa, na prática, assinar o hash dele. Se alguém consegue produzir dois documentos com o mesmo SHA-1 — um inofensivo e outro malicioso —, a assinatura obtida sobre o primeiro vale igualmente para o segundo, e a verificação não percebe a troca. Não é teoria: o malware Flame, em 2012, usou uma colisão MD5 de prefixo escolhido para forjar um certificado de assinatura de código da Microsoft e se passar por uma atualização legítima do Windows. MD5 e SHA-1 ainda produzem impressões digitais estáveis e úteis para pegar corrupção acidental, mas não podem ser usados sempre que houver um adversário no cenário.
Senhas, sal e tabelas arco-íris
Uma tabela arco-íris é um enorme índice pré-calculado que reverte hashes sem
sal quase instantaneamente — então, se um site guarda SHA-256(senha) puro, um banco
de dados vazado é aberto com facilidade. O sal derruba essa estratégia: um
valor aleatório único, misturado a cada senha antes do hash, faz com que dois usuários com a
mesma senha tenham digests diferentes e obriga a refazer qualquer tabela pré-calculada para cada
sal. O sal é guardado junto do hash e não é secreto. É essa defesa — somada a uma função
propositalmente lenta como bcrypt, scrypt ou Argon2 — que um sistema de login real usa.
Como verificar um download pelo hash
O uso mais comum desta ferramenta no dia a dia é conferir se um arquivo baixado é genuíno e está íntegro. Muitos projetos publicam o SHA-256 dos seus instaladores exatamente para isso:
- Localize o hash oficial publicado ao lado do download (normalmente marcado como "SHA-256" ou "checksum").
- Calcule o SHA-256 do arquivo que você realmente recebeu — na linha de comando com
shasum -a 256 arquivo(macOS / Linux) oucertutil -hashfile arquivo SHA256(Windows), ou colando o texto na ferramenta acima. - Compare as duas strings. Se baterem exatamente, caractere por caractere, sua cópia é idêntica bit a bit à que o projeto publicou.
Um único caractere diferente significa que o arquivo é outro — pode ter se corrompido no caminho ou ter sido adulterado. Só lembre do limite: a soma de verificação prova apenas que o arquivo bate com o hash publicado; você ainda precisa confiar que esse hash veio de uma fonte legítima, por uma página segura (HTTPS).
Quem faz a conta é o seu navegador
Esta página não tem servidor de cálculo. Todo o trabalho é feito pela
Web Crypto API embutida no seu navegador, através de
crypto.subtle.digest — a mesma implementação nativa que o navegador usa
internamente. Isso traz duas consequências práticas. A primeira é de
privacidade: o texto que você digita nunca sai do seu aparelho, não é enviado,
não é armazenado e não é registrado em lugar nenhum — depois que a página carrega, ela funciona
até offline. A segunda é de exatidão: não há biblioteca de criptografia
artesanal no meio do caminho, e por isso os digests batem com os de qualquer outra
implementação correta do FIPS 180-4. Note também que a Web Crypto oferece deliberadamente
apenas SHA-1, SHA-256, SHA-384 e SHA-512 — o MD5 ficou de fora de propósito.
Perguntas frequentes
- Hash é a mesma coisa que criptografia?
- Não. Um hash criptográfico é de mão única: transforma qualquer entrada em uma impressão digital de tamanho fixo que não pode ser revertida ao conteúdo original. Criptografia é de mão dupla — pode ser desfeita com a chave. Use hash para verificar integridade e gerar impressões digitais, nunca para "esconder" dados que você precisará recuperar.
- Dá para "descriptografar" um hash SHA-256?
- Não, porque nada foi criptografado. Os sites que dizem "quebrar" hashes na verdade consultam bancos de valores já calculados: se a sua entrada é uma senha comum ou uma palavra curta, ela provavelmente já está numa dessas listas. Isso não reverte o algoritmo — apenas encontra uma entrada conhecida que produz aquele digest, e é exatamente por isso que senhas precisam de sal e de uma função lenta.
- Posso usar isto para armazenar senhas?
- Não com um SHA puro. Senhas devem ser guardadas com uma função de hash lenta e com sal, como bcrypt, scrypt ou Argon2 — nunca um SHA-256 simples e muito menos MD5. Hashes rápidos são projetados para serem rápidos, que é precisamente o que você não quer para senhas.
- O texto que eu digito é enviado para algum servidor?
- Não. O cálculo acontece inteiramente dentro do seu navegador, pela Web Crypto API nativa do próprio aparelho. Nada é enviado, armazenado ou registrado, e a página continua gerando hashes mesmo sem conexão depois de carregada.