Gerador de Hash MD5 e SHA
Cole um texto ou solte um arquivo e veja o MD5, o SHA-1, o SHA-256, o SHA-384 e o SHA-512 ao mesmo tempo. Para conferir um download, cole o hash publicado e a página diz se bate. Texto e arquivo não saem do seu navegador.
MD5 e SHA-1 servem para checksum e compatibilidade com sistemas antigos, não para segurança. Hash também não é criptografia: não existe chave e não dá para voltar ao texto original.
Resultado
Nenhum hash ainda
Digite um texto ou escolha um arquivo. Cada algoritmo marcado aparece aqui com o botão de copiar.
Maiúsculas, espaços e prefixos como sha256: são ignorados. O algoritmo é deduzido pelo tamanho.
Precisa conferir a assinatura de um webhook? Ela usa HMAC, que é um hash com chave secreta.
Vai guardar senha? MD5 e SHA são rápidos demais para isso. Gere um hash bcrypt para o seu usuário de teste.
O que é hash
Uma função de hash transforma qualquer entrada, de uma palavra a um arquivo de vários gigabytes, num valor de tamanho fixo: 32 caracteres hex no MD5, 64 no SHA-256. A mesma entrada sempre dá o mesmo hash, e mudar um único bit muda o resultado inteiro. Por isso o hash serve de impressão digital do conteúdo. Ele não é criptografia, porque não há chave nem caminho de volta. Sites que dizem descriptografar MD5 só procuram o hash numa lista de senhas comuns que já calcularam.
Tamanho e uso de cada algoritmo
| Algoritmo | Caracteres em hex | Onde aparece |
|---|---|---|
| MD5 | 32 | ETag, Content-MD5, deduplicação e integrações antigas. Não usar para segurança. |
| SHA-1 | 40 | Commits do Git e sistemas legados. Colisão demonstrada em 2017. |
| SHA-256 | 64 | Checksum de release, Docker, SRI, TLS e JWT HS256. A escolha padrão. |
| SHA-384 | 96 | Subresource Integrity e certificados. |
| SHA-512 | 128 | Hash longo quando a especificação pede. Rápido em CPU de 64 bits. |
| SHA3-256 | 64 | Especificações que exigem SHA-3. Construção diferente do SHA-2. |
| SHA3-512 | 128 | Mesmo caso do SHA3-256, com saída maior. |
| CRC32 | 8 | zip, gzip, PNG e redes. Detecta erro acidental, não adulteração. |
MD5 e SHA-1: quebrados, mas ainda por aí
A primeira colisão de MD5 foi publicada em 2004, e hoje dois conteúdos diferentes com o mesmo MD5 saem em segundos num notebook. Em 2017 o Google publicou dois PDFs com o mesmo SHA-1. Isso tira os dois de assinatura digital, certificado e senha. Para detectar corrupção acidental eles continuam funcionando, e aparecem no ETag de servidores e do S3, no Content-MD5, em deduplicação de arquivos, em integrações antigas que assinam requisições com MD5 e nos commits do Git, que ainda usam SHA-1.
SHA-256, SHA-384 ou SHA-512
Os três são da família SHA-2 e seguem seguros. O SHA-256 é o padrão de fato: checksum de release, Docker, Bitcoin, TLS e o HS256 do JWT. O SHA-512 gera 128 caracteres e costuma ser mais rápido que o SHA-256 em CPU de 64 bits. O SHA-384 é o SHA-512 truncado e aparece no Subresource Integrity (integrity="sha384-...") e em certificados. O SHA-3 é outra construção, útil quando a especificação pede, mas não substitui o SHA-2 por falha dele.
Como conferir o checksum de um download
Projetos como Ubuntu, Node.js e Python publicam um arquivo SHA256SUMS ao lado do download. Solte o arquivo baixado aqui e cole a linha correspondente no campo de hash esperado. No terminal, o mesmo cálculo é sha256sum arquivo.iso no Linux, shasum -a 256 arquivo.iso no macOS e Get-FileHash arquivo.iso no PowerShell, que mostra o hash em maiúsculas. Maiúsculas e minúsculas não mudam o valor.
Por que o mesmo texto deu hash diferente
Quase sempre são bytes invisíveis. echo "senha" | md5sum inclui a quebra de linha final, e echo -n não inclui. Arquivos salvos no Windows usam CRLF (\r\n) e no Linux usam LF (\n). Um editor pode ter adicionado BOM no início, e o texto pode estar em Latin-1 em vez de UTF-8, o que muda os bytes de ç e ã. Use o seletor de quebras de linha e o contador de bytes para achar a diferença.
Senha não se guarda com MD5 nem SHA
MD5 e SHA foram feitos para ser rápidos, e uma placa de vídeo comum testa bilhões de hashes por segundo. Com uma lista de senhas vazadas, a maioria dos hashes de senha em MD5 ou SHA-256 cai em minutos, com ou sem salt fixo. Para senha use um algoritmo lento de propósito, com salt por usuário, como bcrypt ou Argon2.
Perguntas frequentes sobre hash
MD5, SHA, checksum de arquivo e os motivos de um hash não bater.