Ir para o conteúdo

Gerador de hash (SHA-256)

Digite ou cole um texto e calcule seus hashes SHA-256, SHA-1, SHA-384 e SHA-512 com um clique, em hexadecimal minúsculo ou maiúsculo, com um botão de cópia para cada um. O cálculo usa a Web Crypto API do seu navegador sobre os bytes UTF-8 do texto, então nada é enviado. Gratuito, sem cadastro. Ele calcula hash apenas de texto, não de arquivos.

Como usar o gerador de hash

  1. 1. Digite seu texto. Qualquer texto, até o limite que o seu navegador aceita em uma caixa de texto.
  2. 2. Clique em Gerar hashes. Os quatro resumos aparecem juntos, com o SHA-256 destacado como o recomendado.
  3. 3. Escolha a caixa. Hexadecimal em maiúsculas alterna cada resumo entre minúsculas (a convenção usual) e maiúsculas; os bytes por trás são os mesmos.
  4. 4. Copie o resumo que você precisa com o botão ao lado dele.

Os quatro algoritmos

SHA-1, SHA-256, SHA-384 e SHA-512 são definidos no Secure Hash Standard do governo dos EUA, FIPS 180-4. Cada um transforma qualquer entrada em um resumo de tamanho fixo. O tamanho é a única diferença visível na saída:

AlgoritmoTamanho do resumoCaracteres hexadecimaisSituação
SHA-1160 bits40Quebrado para segurança: a primeira colisão prática foi publicada em 2017, e o NIST recomenda eliminá-lo até 2030. Apenas para checksums legados.
SHA-256256 bits64A escolha padrão para verificações de integridade e assinaturas
SHA-384384 bits96Família SHA-2; um SHA-512 truncado
SHA-512512 bits128Família SHA-2; costuma ser mais rápido que o SHA-256 em processadores de 64 bits

Um hash criptográfico é uma impressão digital de mão única. A mesma entrada sempre gera o mesmo resumo, uma mudança mínima gera um resumo sem nenhuma relação com o anterior, e o texto não pode ser recuperado a partir do resumo. O MD5 não é oferecido porque a Web Crypto API não o implementa.

Exemplo prático

Texto

abc

SHA-256

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

SHA-1

a9993e364706816aba3e25717850c26c9cd0d89d

Esses dois são os vetores de teste publicados nos exemplos do padrão, então você pode conferir a ferramenta com uma fonte confiável. Agora veja o que uma única letra faz. Trocando «dog» por «cog» em The quick brown fox jumps over the lazy dog:

…dog

d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

…cog

e4c4d8f3bf76b692de791a173e05321150f7a345b46484fe427f6acc7ecc81be

Esses dois resumos SHA-256 não têm nada de reconhecível em comum: 123 dos 256 bits são diferentes, perto da metade que se espera de valores não relacionados. Esse é o efeito avalanche, e é por isso que um hash pode mostrar que um arquivo ou mensagem mudou sem revelar o que mudou.

Por que seu hash pode não coincidir

  • Quebra de linha no final. abc e abc seguido de uma quebra de linha são entradas diferentes: o SHA-256 de abc mais uma quebra de linha começa com edeaaff3, e não com ba7816bf. O comando echo abc | sha256sum também calcula o hash da quebra de linha; use printf ou echo -n para deixá-la de fora.
  • Maiúsculas e espaços. Abc gera um hash diferente de abc, e o mesmo vale para um espaço em qualquer uma das pontas.
  • Codificação. A ferramenta calcula o hash dos bytes UTF-8 do que você digitou. Um texto calculado como UTF-16 ou Latin-1 em outro lugar gera um resumo diferente para qualquer caractere não ASCII.
  • Quebras de linha. Textos colados de um arquivo do Windows podem conter retornos de carro que a caixa de texto normaliza.

Para o que esta ferramenta não serve

  • Arquivos. Ela calcula hash apenas de texto. Para um arquivo, use shasum -a 256 arquivo no macOS ou Linux, ou certutil -hashfile arquivo SHA256 no Windows.
  • Senhas. O SHA-256 foi projetado para ser rápido, o que ajuda um atacante a adivinhar senhas. Armazene senhas com uma função de hash lenta e com sal, como Argon2id, scrypt ou bcrypt.
  • Hashes com chave. Não há opção de HMAC nem de sal.

Qual ferramenta você precisa?

Para a visão hexadecimal do próprio texto, e não de um resumo dele, use o Conversor hexadecimal. Para um identificador aleatório, o Gerador de UUID; para um segredo aleatório, o Gerador de senhas.

Perguntas frequentes

Meu texto é enviado para algum servidor?
Não. Cada resumo é calculado no seu navegador com a Web Crypto API (crypto.subtle.digest). Seu texto não é enviado a lugar nenhum, e a ferramenta continua funcionando se você ficar offline depois que a página carregar.
O que é um hash criptográfico?
Uma função que transforma uma entrada de qualquer tamanho em um resumo de tamanho fixo. Ela é determinística, de mão única e sensível a cada bit da entrada. Hashes são usados para verificar a integridade de arquivos, em assinaturas digitais e em identificadores de commits, entre outros usos.
Qual algoritmo de hash devo usar?
SHA-256 para quase tudo. SHA-384 e SHA-512 dão resumos mais longos da mesma família. Use o SHA-1 apenas quando um sistema antigo exigir, e nunca para segurança.
O SHA-1 é seguro de usar?
Não para segurança. O ataque SHAttered, de 2017, produziu dois arquivos PDF diferentes com o mesmo resumo SHA-1, e o NIST recomenda eliminá-lo até o fim de 2030. Ele continua aceitável para checksums sem finalidade de segurança, onde não há preocupação com atacantes.
Por que não há opção de MD5?
A Web Crypto API não implementa o MD5, e a ferramenta usa apenas o que o navegador fornece. O MD5 não serve para segurança há muitos anos.
Posso calcular o hash de um arquivo com esta ferramenta?
Não, ela aceita apenas texto. Use a ferramenta de linha de comando do seu sistema operacional para arquivos, como descrito acima.
Por que meu SHA-256 é diferente do de outro site?
Quase sempre a entrada difere por um caractere invisível, como uma quebra de linha ou um espaço no final, ou por uma codificação de texto diferente. Confira os bytes exatos com o Conversor hexadecimal.

Ferramentas relacionadas

Mais em Dados, marcação e código