Para que serve o MD5
O MD5 transforma qualquer entrada numa impressão digital de 128 bits, escrita como 32 caracteres hexadecimais. A mesma entrada sempre gera o mesmo hash, e mudar um único caractere muda o hash por completo. Isso torna o MD5 um jeito rápido de conferir se um download, uma linha de banco de dados ou uma chave de cache não mudou, e muitos sistemas antigos, ETags e listas de arquivos ainda publicam checksums MD5.
O MD5 não é mais seguro. Pesquisadores produzem entradas com colisão (dois arquivos diferentes com o mesmo MD5) desde 2004, então ele não deve ser usado para guardar senhas, assinar documentos ou verificar algo que um atacante possa alterar. Para isso use SHA-256.
Exemplo resolvido
O MD5 de The quick brown fox jumps over the lazy dog é 9e107d9d372bb6826bd81d3542a419d6. Troque dog por cog e ele vira 1055d3e698d289f2af8663725127bd4b: nada do hash antigo sobra.
Por que meu checksum é diferente
Ferramentas de linha de comando calculam o hash dos bytes exatos do arquivo, inclusive a quebra de linha final. echo "oi" | md5sum calcula o hash de oi\n, não de oi. Use echo -n ou printf para comparar com esta página.
Como funciona
A página codifica o texto em UTF-8 e roda o algoritmo MD5 da RFC 1321: os bytes recebem padding, o tamanho é anexado e cada bloco de 512 bits passa por 64 etapas que misturam os dados com constantes fixas. O resultado são quatro palavras de 32 bits escritas como 32 dígitos hexadecimais. A implementação é conferida com a bateria de testes da RFC 1321 a cada build. O Web Crypto, a API de hash do navegador, não oferece MD5, então esta página traz uma implementação própria e pequena. Nada é enviado.
Perguntas frequentes
MD5 é seguro para senhas?
Não. O MD5 é rápido e tem colisões conhecidas. Guarde senhas com um algoritmo lento e com salt, como Argon2, scrypt ou bcrypt.
Dá para reverter um hash MD5?
Matematicamente não, mas entradas curtas ou comuns podem ser achadas em tabelas prontas, outro motivo para não usar com segredos.
Por que meu terminal dá outro MD5?
Provavelmente inclui a quebra de linha final. Use echo -n ou printf para calcular só o texto.
Maiúsculas no hexadecimal fazem diferença?
Não. 9E10… e 9e10… são o mesmo resumo; use o que seu sistema espera.
Fontes
Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/md5-hash/