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.

Origem
0 bytes
O texto está em
Quebras de linha
Algoritmos
Formato do resultado

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.

Validar HMAC

Vai guardar senha? MD5 e SHA são rápidos demais para isso. Gere um hash bcrypt para o seu usuário de teste.

Gerar bcrypt

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

AlgoritmoCaracteres em hexOnde aparece
MD532ETag, Content-MD5, deduplicação e integrações antigas. Não usar para segurança.
SHA-140Commits do Git e sistemas legados. Colisão demonstrada em 2017.
SHA-25664Checksum de release, Docker, SRI, TLS e JWT HS256. A escolha padrão.
SHA-38496Subresource Integrity e certificados.
SHA-512128Hash longo quando a especificação pede. Rápido em CPU de 64 bits.
SHA3-25664Especificações que exigem SHA-3. Construção diferente do SHA-2.
SHA3-512128Mesmo caso do SHA3-256, com saída maior.
CRC328zip, 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.