Gerador de hash MD5, SHA-1 e SHA-256
Digite um texto ou solte um arquivo e você recebe os cinco digests de uma vez. Se você tem uma soma de verificação tirada de uma página de download, cole no campo de comparação e a linha correspondente fica marcada: sem precisar conferir 64 caracteres hexadecimais a olho nu.
Ou gere o hash de um arquivo
Solte um arquivo aqui ou escolha um
Qualquer tipo de arquivo · lido no seu dispositivo · nada é enviado
Maiúsculas ou minúsculas funcionam igual. Você pode colar uma linha inteira de um arquivo SHASUMS: tudo que vem depois da primeira palavra é ignorado.
Hashes do texto acima
O que é um hash, e a única coisa que ele não é
Uma função de hash recebe qualquer quantidade de bytes e devolve uma impressão digital de tamanho fixo. Inverta um bit da entrada e cerca de metade dos bits da saída muda. A mesma entrada sempre produz a mesma saída, e é isso que torna um digest útil para verificar que duas coisas são idênticas sem compará-las byte a byte.
Não é criptografia. Não existe chave e não existe caminho de volta: o digest de um arquivo de 4 GB continua tendo 32 bytes, então quase toda a informação simplesmente sumiu. Quando alguém diz que um hash foi "quebrado", quer dizer que alguém adivinhou a entrada e a hasheou também. Para uma entrada curta tirada de um conjunto previsível —um número de telefone, uma senha comum, um endereço de e-mail— adivinhar sai barato, e tabelas pré-calculadas deixam mais barato ainda. Hashear não torna privados dados pequenos e previsíveis.
Qual algoritmo escolher
- SHA-256 — o padrão. Rápido, suportado em toda parte, sem ataque prático conhecido. Use-o, a não ser que alguma restrição obrigue outra coisa.
- SHA-512 — o mesmo projeto com palavras de 64 bits. Em hardware de 64 bits costuma ser mais rápido que o SHA-256, apesar de produzir o dobro de saída.
- SHA-1 — quebrado quanto a colisões. Pesquisadores do CWI Amsterdam e do Google publicaram uma colisão real em 2017, e depois vieram as colisões de prefixo escolhido, mais baratas. Aceitável como soma de verificação sem fins de segurança, nunca para assinaturas.
- MD5 — quebrado desde 2004. Produzir dois arquivos com o mesmo MD5 dá para fazer em um notebook comum. Ele sobrevive em páginas de download antigas e em bancos de dados legados, que é a única razão de estar aqui.
A distinção que importa é colisões contra pré-imagens. Uma colisão significa que um atacante consegue construir duas entradas diferentes que compartilham um digest, e ele escolhe as duas. Uma pré-imagem significa que ele consegue achar uma entrada que corresponda a um digest que você já tem. Ninguém tem um ataque prático de pré-imagem contra MD5 nem contra SHA-1. É por isso que uma soma MD5 antiga ainda pega um download corrompido, e continua sem proteger você de quem controlou o arquivo desde o início.
Por que o seu hash não bate com o do terminal
Quase sempre são os bytes que diferem, não o algoritmo. Três suspeitos de sempre:
- Uma quebra de linha no final.
echo hello | md5sumfaz o hash de seis bytes, não de cinco, porque o echo acrescenta um avanço de linha. Useprintfouecho -nse quiser bater com o que você digitou acima. - Os finais de linha. Um arquivo salvo no Windows com CRLF gera um hash diferente do mesmo arquivo com LF. O Git pode reescrevê-los no checkout sem te avisar.
- A codificação. Esta ferramenta codifica o seu texto como UTF-8. Se do outro lado os mesmos caracteres foram hasheados como UTF-16 ou Latin-1, todos os digests mudam. Uma marca de ordem de bytes no começo de um arquivo também é feita de bytes, e ela conta.
Conferir um download, com honestidade
Comparar uma soma de verificação protege contra uma transferência truncada, um disco corrompido e um servidor espelho que entrega o arquivo errado. Não protege você de quem controla a página. Se o link de download e a soma moram no mesmo servidor, um atacante que trocou um trocou o outro. A defesa de verdade é uma assinatura: um hash assinado com uma chave em que você já confia, conferido com gpg --verify ou o equivalente do projeto. Uma soma de verificação sozinha é uma checagem de consistência, não de autenticidade.
Até onde esta ferramenta vai
O arquivo inteiro é carregado na memória antes de ser hasheado, porque é isso que a API de criptografia do navegador aceita. Algumas centenas de megabytes funcionam bem em um computador de mesa. Uma imagem de disco de vários gigabytes vai travar a aba ou falhar de vez: para isso, recorra a sha256sum, shasum -a 256 ou certutil -hashfile.
O MD5 é calculado por JavaScript na thread principal, já que os navegadores se recusam a fornecê-lo. É várias vezes mais lento que a família SHA, que roda como código nativo dentro do navegador. Em um arquivo grande, a linha do MD5 é a que faz você esperar.
Os algoritmos SHA precisam de um contexto seguro: HTTPS ou localhost. Abra esta página por um endereço http:// comum em uma rede local e as linhas SHA relatam um erro enquanto o MD5 continua funcionando.
Aqui não há HMAC nem hash de senhas. bcrypt, scrypt e Argon2 são deliberadamente lentos e levam sal individual; nenhum deles é um digest simples. Se você está armazenando senhas, nenhum dos cinco algoritmos acima é a resposta certa.
Perguntas frequentes
Ainda é seguro usar MD5?
Para nada ligado à segurança. Dá para fabricar dois arquivos diferentes que compartilham um digest MD5 em segundos, em hardware comum. Ele ainda serve como checagem de corrupção contra uma soma que você mesmo gerou, e está aqui porque muitas páginas de download antigas não publicam nenhuma outra coisa.
Por que o meu terminal dá um hash diferente para o mesmo texto?
Quase sempre por causa de uma quebra de linha no final. Passar o texto pelo echo acrescenta um avanço de linha, então seis bytes são hasheados em vez de cinco. Finais de linha do Windows e codificações que não são UTF-8 causam a mesma surpresa. O problema não é o algoritmo: são os bytes.
Um hash pode ser revertido para o texto original?
Não. Um digest tem tamanho fixo por maior que fosse a entrada, então a informação não está lá para ser recuperada. O que os sites de busca de hashes fazem é hashear bilhões de entradas prováveis e procurar uma correspondência, o que funciona bem contra valores curtos ou comuns e não funciona de jeito nenhum contra valores longos e aleatórios.
Meu arquivo é enviado para algum lugar?
Não. O arquivo é lido pelo seu navegador com a API FileReader e hasheado no seu dispositivo. Não existe servidor para onde mandá-lo: esta página é feita de arquivos estáticos.
Qual é o tamanho máximo de arquivo?
Algumas centenas de megabytes rodam confortavelmente em um computador de mesa; celulares desistem antes. O arquivo inteiro precisa caber na memória de uma vez, então é melhor gerar o hash de imagens na casa dos gigabytes com uma ferramenta de linha de comando.
Última atualização 19 de setembro de 2026