Gerador de Hash MD5, SHA-1 e SHA-256
MD5, SHA-1, SHA-256, SHA-512 e CRC32 do mesmo texto ou arquivo, de uma vez, mais a conferência do arquivo baixado contra o hash publicado. Nada sai do seu computador.
Conferir um arquivo que você baixou
É para isso que hash serve todo dia. Quem publica um programa, um instalador ou um backup costuma publicar o hash do arquivo ao lado do link. Se o hash que sai aqui for igual ao que está lá, o arquivo chegou inteiro e é o mesmo. Se for diferente, alguma coisa aconteceu no caminho.
A prova de que o MD5 quebrou
Todo texto sobre hash repete que o MD5 não serve mais para segurança, e quase nunca mostra o porquê. Aqui embaixo estão dois blocos de 128 bytes que são diferentes, em 6 posições, e mesmo assim têm o mesmo MD5. Eles saíram do trabalho de Xiaoyun Wang e Hongbo Yu, apresentado em 2004, que foi o começo do fim do MD5. Clica no botão e confere você mesmo, com a mesma conta que a ferramenta lá em cima usa.
O que é um hash
Hash é a impressão digital de um conteúdo. Você joga qualquer coisa dentro (uma palavra, um contrato, um vídeo de 4 GB) e sai sempre a mesma sequência de letras e números, do mesmo tamanho, toda vez. Mudou um pontinho no conteúdo, sai outra sequência completamente diferente.
Duas propriedades fazem isso valer alguma coisa. A primeira: o mesmo conteúdo sempre gera o mesmo hash, em qualquer computador do mundo, hoje e daqui a dez anos. A segunda: pelo hash não dá para voltar ao conteúdo, porque a conta é de mão única.
Junte as duas e você tem um jeito barato de responder a uma pergunta que aparece o tempo todo: esses dois arquivos são o mesmo arquivo? Em vez de comparar byte por byte, compara duas linhas de 64 caracteres.
Para que isso serve fora do mundo da programação
Conferir um arquivo que você baixou. É o uso mais direto. Quem publica um instalador, um programa da Receita ou um driver costuma publicar o hash do arquivo ao lado do link. Você baixa, calcula o hash aqui e compara. Se bate, o arquivo chegou inteiro e é o mesmo que foi publicado. Se não bate, o download veio corrompido ou o arquivo não é o que deveria ser.
Saber se dois arquivos são iguais. Aconteceu com todo mundo: duas pastas de backup, duas versões da planilha, dois PDFs com nomes parecidos. O hash resolve em dez segundos, sem abrir nenhum dos dois.
Provar que um arquivo não mudou. Se você guarda o hash de um documento hoje, daqui a um ano dá para provar que o arquivo é aquele mesmo, sem depender da data do sistema, que qualquer um altera.
Integrar com sistema de terceiro. Gateway de pagamento, API de nota, ERP: muita integração pede uma assinatura que é o hash de um texto montado com seus dados mais uma chave. É a parte que mais dá dor de cabeça, e quase sempre pelo motivo que está mais abaixo nesta página.
Hash não é criptografia, e não tem volta
Essa confusão custa caro, então vale ser direto: criptografia tem volta, hash não tem. Texto criptografado existe para ser decifrado depois por quem tem a chave. Hash não guarda o conteúdo em lugar nenhum: ele é um resumo que joga informação fora no caminho.
Dá para ver isso no tamanho. O MD5 de uma letra tem 32 caracteres. O MD5 de um filme de 2 GB também tem 32 caracteres. Se fosse possível voltar, os 2 GB estariam guardados ali dentro, e não estão.
E aqueles sites que prometem “descriptografar MD5”? Eles não descriptografam nada. Eles guardaram bilhões de textos comuns com o hash de cada um e fazem uma consulta. Se o seu MD5 for de 123456 ou do nome do seu cachorro, o resultado aparece na hora. Se for de um texto que ninguém nunca escreveu, não aparece nunca.
Qual algoritmo escolher
MD5 devolve 32 caracteres. Nasceu em 1991 e ainda é o mais pedido, por força do hábito. Serve para conferir se um arquivo chegou inteiro, porque nesse caso o inimigo é a conexão cair no meio do download. Não serve para nada que envolva alguém querendo te enganar.
SHA-1 devolve 40 caracteres. Está na mesma situação do MD5, só que quebrou mais tarde. Ainda aparece em sistema antigo e em assinatura de arquivo, mas ninguém deveria escolher ele para coisa nova.
SHA-256 devolve 64 caracteres, e é a escolha padrão de hoje. Quando não houver motivo forte para outro, é esse. É ele que aparece na maior parte dos sites que publicam o hash dos arquivos, e é ele que roda por dentro do Bitcoin e de boa parte da internet.
SHA-512 devolve 128 caracteres. Mesma família do SHA-256, com mais folga. Aparece em servidor e em senha de sistema operacional.
CRC32 devolve só 8 caracteres, e não é da mesma turma dos outros. Ele foi feito para detectar erro de transmissão, não para resistir a ninguém. É o que o arquivo ZIP usa por dentro e o que a rede usa em cada pacote. Serve para responder “chegou inteiro?” e não serve para responder “é o mesmo arquivo?”.
Por que o MD5 saiu de cena
O problema tem nome: colisão. É quando dois conteúdos diferentes dão o mesmo hash. Em teoria, colisão sempre existe, porque o hash tem tamanho fixo e o mundo tem conteúdo infinito. Na prática, o que importa é se alguém consegue fabricar uma de propósito.
Com o MD5, consegue. Xiaoyun Wang e Hongbo Yu mostraram isso em 2004, e o par de blocos que elas encontraram está lá em cima nesta página para você calcular com as próprias mãos: dois blocos de 128 bytes, diferentes em 6 posições, com o mesmo MD5. O que na época levou horas de computador grande, hoje um notebook comum faz em segundos.
Isso já saiu do papel. Em 2012, o programa espião Flame usou uma colisão de MD5 para forjar um certificado que parecia assinado pela Microsoft, e com isso se instalava passando por atualização legítima do Windows.
Com o SHA-1 a mesma coisa aconteceu em 2017, no trabalho que o Google e o instituto holandês CWI batizaram de SHAttered: dois arquivos PDF com conteúdo visível diferente e o mesmo SHA-1.
A moral prática é curta. Se o que você quer é saber se o download corrompeu, MD5 resolve. Se existe alguém que ganharia alguma coisa te enganando, use SHA-256.
Senha nunca deve ser guardada em MD5
Se você tem um sistema feito sob medida, vale essa pergunta para quem cuida dele: como as senhas dos usuários estão guardadas? Se a resposta for MD5 ou SHA-1, tem problema, e não é pela colisão.
É pela velocidade. Esses algoritmos foram feitos para serem rápidos, e uma placa de vídeo comum testa bilhões de tentativas por segundo em cima deles. Uma lista de senhas em MD5 que vaze hoje está aberta amanhã, e a maioria delas nem precisa de esforço: as mais usadas já estão em tabela pronta.
O certo para senha é um algoritmo feito de propósito para ser lento e com um tempero aleatório por usuário: bcrypt, scrypt ou argon2. Aí a mesma senha de duas pessoas fica com resultados diferentes guardados, e cada tentativa custa caro para quem está atacando. Já que você está aqui, o gerador de senha faz a outra metade do trabalho.
Por que o hash “não bate” entre dois sistemas
Essa é a causa de quase todo suporte perdido em integração, e ela tem duas explicações possíveis.
A primeira é o acento. O hash é dos bytes, não das letras. A palavra ação escrita em UTF-8 vira uma sequência de bytes, e escrita em Latin-1 vira outra. São a mesma palavra na tela e conteúdos diferentes para o algoritmo, então o hash sai diferente. A ferramenta aqui de cima mostra os dois resultados lado a lado quando o seu texto tem acento, justamente para essa hora. Se quiser ver os bytes por baixo, o tradutor de binário abre a palavra byte a byte, e o conversor de Base64 passa pelo mesmo caminho.
A segunda é o que sobra na ponta. Um espaço no fim, um Enter invisível que o editor colocou, uma quebra de linha do Windows que tem dois bytes onde a do Linux tem um. Tudo isso é conteúdo e tudo isso muda o hash inteiro.
Como conferir um arquivo baixado, na prática
O passo a passo é o mesmo sempre. Baixe o arquivo. Ache o hash publicado pelo site oficial, que costuma estar na própria página de download, com o nome de checksum, SHA-256 ou soma de verificação. Escolha o arquivo no segundo bloco desta página, cole o hash publicado no campo de baixo e clique. A resposta é sim ou não.
Duas ressalvas que fazem diferença. O hash tem que vir da fonte oficial, e de preferência de um endereço diferente do arquivo: se as duas coisas estiverem no mesmo lugar invadido, quem trocou o arquivo trocou o hash junto e a conferência não prova nada. E se o hash não bater, não abra o arquivo por curiosidade. Baixe de novo, e se continuar diferente, apague.
Fora do navegador dá para fazer o mesmo. No Windows, certutil -hashfile arquivo SHA256 no Prompt de Comando. No Mac e no Linux, shasum -a 256 arquivo no terminal. O resultado é idêntico ao daqui, porque a conta é a mesma em qualquer lugar.
Perguntas rápidas
O que é o hash MD5 de um texto?
É uma sequência de 32 caracteres, entre letras de a a f e números, calculada a partir do conteúdo do texto. O mesmo texto sempre devolve o mesmo MD5, em qualquer computador, e qualquer alteração no texto muda o resultado inteiro. Ele funciona como uma impressão digital do conteúdo.
Dá para descriptografar um MD5 e descobrir o texto original?
Não. Hash é uma conta de mão única: ele resume o conteúdo e joga informação fora no caminho, então não existe volta. Os sites que prometem quebrar MD5 apenas consultam listas gigantes de textos comuns com o hash de cada um já calculado. Se o hash for de uma senha óbvia, aparece; se for de um texto que ninguém nunca escreveu, não aparece.
O MD5 ainda pode ser usado?
Para conferir se um arquivo baixado chegou inteiro, sim, porque ali o problema é a conexão falhar e não alguém agindo de má-fé. Para qualquer coisa que envolva segurança, não: desde 2004 se sabe fabricar dois conteúdos diferentes com o mesmo MD5, e em 2012 isso foi usado de verdade pelo programa espião Flame para forjar um certificado da Microsoft. Nesses casos, use SHA-256.
Qual a diferença entre MD5, SHA-1 e SHA-256?
O tamanho do resultado e a resistência. MD5 devolve 32 caracteres, SHA-1 devolve 40 e SHA-256 devolve 64. MD5 e SHA-1 já foram quebrados na prática, em 2004 e em 2017. O SHA-256 continua de pé e é a escolha padrão hoje quando não existe motivo forte para outro.
Meu arquivo é enviado para o site quando eu calculo o hash?
Não. Tanto o texto quanto o arquivo são lidos e calculados dentro do seu próprio navegador. Nada é enviado para a gente nem para ninguém, e nada fica guardado. Você pode até desligar a internet depois que a página abrir e a ferramenta continua funcionando.
Por que o mesmo texto deu hash diferente em dois sistemas?
Quase sempre é acento ou sobra na ponta. O hash é calculado sobre os bytes, e a palavra ação em UTF-8 tem bytes diferentes da mesma palavra em Latin-1. Um espaço a mais no fim, ou um Enter invisível, também muda o resultado inteiro. A ferramenta aqui mostra o hash nas duas codificações quando o seu texto tem acento.
🧮 Veja também
Ver todas as ferramentas →📖 Do blog do Kit de Negócios
Ver todos os posts →








🚀 Para o seu negócio crescer




Links de afiliado: se você comprar por eles, o Kit de Negócios recebe uma comissão pequena, sem custo nenhum para você. É o que paga o site. 💙