Gerador de Hash Online: MD5, SHA-1, SHA-256, SHA-512 e Mais

Gere o hash de um texto ou arquivo em MD5, SHA-1, SHA-256, SHA-512, SHA-3, RIPEMD-160 e CRC32 de uma vez e confira checksums. Tudo no navegador.

Gerador de hash online

Digite um texto e veja todos os hashes ao mesmo tempo, atualizados a cada tecla: MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, RIPEMD-160 e CRC32. Na aba Arquivo, calcule o checksum de um arquivo de qualquer tamanho e confira com o valor publicado pelo site de onde você baixou. O texto e o arquivo não saem do seu navegador: nada é enviado a servidor.

Campo vazio: abaixo estão os hashes do texto vazio (zero bytes). O texto é codificado em UTF-8.

Formato da saída
MD5128 bitsquebrado: não use para segurança
—
SHA-1160 bitsquebrado: não use para segurança
—
SHA-224224 bits
—
SHA-256256 bits
—
SHA-384384 bits
—
SHA-512512 bits
—
SHA3-256256 bits
—
SHA3-512512 bits
—
RIPEMD-160160 bits
—
CRC3232 bitssoma de verificação, não é hash criptográfico
—

MD5 e SHA-1 não servem para segurança (têm colisões práticas) e CRC32 só detecta erros acidentais. Para integridade e assinaturas, use SHA-256 ou superior. Hash não é criptografia e, para guardar senhas, o certo é bcrypt, scrypt ou Argon2.

Como usar

  1. Texto: digite ou cole o conteúdo. Os dez hashes aparecem na hora; use o botão ao lado de cada um para copiar.
  2. Arquivo: troque para a aba Arquivo e escolha o arquivo. Ele é lido em partes de 1 MB, com barra de progresso, e pode ser cancelado. Para arquivos grandes, desmarque os algoritmos de que não precisa: o cálculo fica bem mais rápido.
  3. Formato: escolha hexadecimal minúsculo, hexadecimal maiúsculo, Base64 ou Base64url. O hash é o mesmo; só muda a forma de escrever os bytes.
  4. Comparar com: cole o hash esperado. A ferramenta diz se ele confere e com qual algoritmo. Aceita maiúsculas, espaços, : entre os bytes e a linha inteira gerada por sha256sum (hash seguido do nome do arquivo).

O que é um hash

Uma função de hash transforma qualquer quantidade de dados em um resumo de tamanho fixo. Três propriedades explicam por que ela é útil:

  • Determinística: a mesma entrada gera sempre o mesmo hash.
  • Sensível: mudar um único bit muda o resultado por completo.
  • De mão única: a partir do hash não se calcula a entrada original.

Veja o efeito de trocar só a primeira letra de maiúscula para minúscula (SHA-256):

TextoSHA-256
Olá5251c3c68010bca32f4dbedb142270f720fa84a0599816524c85d50c3f589365
olá9b186e077c7c6d044f5789d76e6d8070a5b0aaa902ebc608bc34170722dba903

O texto é convertido em bytes UTF-8 antes do cálculo, a codificação usada hoje pela grande maioria dos sistemas e páginas web. Por isso á conta como 2 bytes, e um espaço ou uma quebra de linha a mais no final muda o hash.

Os algoritmos e quando usar cada um

AlgoritmoTamanhoSituação
MD5128 bits (32 hex)Quebrado: colisões práticas desde 2004. Só para conferir erros acidentais
SHA-1160 bits (40 hex)Quebrado: colisão demonstrada em 2017 (ataque SHAttered)
SHA-224 / SHA-256224 / 256 bitsFamília SHA-2, segura. SHA-256 é o padrão atual
SHA-384 / SHA-512384 / 512 bitsFamília SHA-2, segura, com palavras de 64 bits
SHA3-256 / SHA3-512256 / 512 bitsFamília SHA-3 (Keccak), padronizada pelo NIST em 2015 no FIPS 202
RIPEMD-160160 bits (40 hex)De 1996; ainda usado nos endereços de Bitcoin, junto com o SHA-256
CRC3232 bits (8 hex)Soma de verificação de ZIP, PNG e gzip. Não é hash criptográfico

Para referência, estes são os valores do texto abc, usados como vetores de teste nas especificações:

MD5      900150983cd24fb0d6963f7d28e17f72
SHA-1    a9993e364706816aba3e25717850c26c9cd0d89d
SHA-256  ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
CRC32    352441c2

Como conferir o checksum de um arquivo

Sites de download de sistemas operacionais, instaladores e firmwares costumam publicar o SHA-256 do arquivo. Depois de baixar, abra a aba Arquivo, selecione o arquivo e cole o valor publicado em Comparar com. Se conferir, o arquivo chegou inteiro, byte a byte igual ao original. Se não conferir, o download está corrompido ou o arquivo foi alterado: baixe de novo.

Um detalhe importante: o checksum só protege contra adulteração se o valor vier de uma fonte confiável. Quem consegue trocar o arquivo num site invadido também consegue trocar o hash publicado na mesma página.

No terminal, os equivalentes são sha256sum arquivo (Linux), shasum -a 256 arquivo (macOS) e certutil -hashfile arquivo SHA256 (Windows).

Hash não é criptografia, nem serve sozinho para senhas

  • Hash não é criptografia. Criptografia é reversível com a chave; hash não tem chave nem volta. Também não é codificação: Base64 se desfaz, hash não.
  • MD5 e SHA-1 não servem para segurança. Já é possível fabricar dois arquivos diferentes com o mesmo hash. Para assinaturas, certificados e integridade contra ataques, use SHA-256 ou superior.
  • Para guardar senhas, nem SHA-256 serve. Funções rápidas deixam um atacante testar bilhões de senhas por segundo. O correto é usar funções lentas e com salt feitas para isso: bcrypt, scrypt ou Argon2.
  • Para autenticar mensagens com uma chave secreta, use o gerador de HMAC, não um hash simples.

Limitações

  • SHA-1, SHA-256, SHA-384 e SHA-512 de texto usam a Web Crypto do navegador. Os demais algoritmos, e todos os hashes de arquivo, usam implementação própria em JavaScript, conferida com os vetores oficiais de cada especificação. Ela é mais lenta que programas nativos: arquivos de vários gigabytes podem levar minutos se todos os algoritmos estiverem marcados.
  • Não há SHA-512/256, BLAKE2, BLAKE3 nem funções de senha.
  • O CRC32 é o do padrão IEEE 802.3 (o mesmo do ZIP); o CRC-32C usa outro polinômio e dá outro valor.

Perguntas frequentes

Dá para descobrir o texto original a partir do hash?

Não por cálculo. O que existe é tentativa: gerar o hash de milhões de candidatos e comparar. Textos curtos ou comuns, como 123456, são encontrados na hora em tabelas prontas. É por isso que senhas pedem funções lentas e com salt, como as do gerador de bcrypt.

Qual algoritmo devo usar?

Na dúvida, SHA-256. É seguro, rápido e aceito em toda parte. Use MD5, SHA-1 ou CRC32 apenas quando um sistema antigo exigir ou para detectar erros acidentais de cópia.

Por que meu hash saiu diferente do de outro programa?

Quase sempre é a entrada que difere: uma quebra de linha no final (o echo do terminal acrescenta uma; use echo -n ou printf), espaços, codificação diferente de UTF-8 ou quebras de linha do Windows (\r\n). Comparar maiúsculas com minúsculas no hexadecimal não é problema: é o mesmo valor.

Qual a diferença entre Base64 e Base64url?

São duas formas de escrever os mesmos bytes do hash. O Base64url (RFC 4648) troca + e / por - e _ e aqui sai sem o = final, para caber em URLs e nomes de arquivo. O Base64url aparece em JWT; já o atributo integrity de scripts (SRI) usa o Base64 comum.

O hash da string vazia existe?

Sim. Zero bytes também têm hash: o MD5 é d41d8cd98f00b204e9800998ecf8427e e o SHA-256 começa com e3b0c442. Se você encontrar esses valores num sistema, alguém calculou o hash de um conteúdo vazio.

Meu arquivo é enviado para algum lugar?

Não. A leitura e o cálculo acontecem no seu navegador, e a página funciona até sem conexão depois de carregada.

Veja também