Como Ler e Comparar Hashes MD5 Corretamente: Maiusculas, Espacos, Formato Hex
Ultima revisao 2026-05-04. Um passo a passo de 30 segundos para o momento depois que voce gera um hash em MD5 Converter (ou copia um de uma pagina de download) e precisa confirmar que ele bate com o valor esperado. Dois hashes MD5 ou representam o mesmo digest de 16 bytes ou nao. Diferencas de maiusculas, espacos em volta, um byte-order mark invisivel ou um formato separado por dois pontos sao cosmeticas - os hashes ainda sao iguais. Um caractere hex diferente em qualquer lugar, um comprimento total diferente ou um caractere nao-hex e uma diferenca real - as entradas nao foram as mesmas.
O que um hash MD5 e de fato
Um hash MD5 e a saida de uma funcao que pega qualquer entrada - uma string de texto, os bytes de um arquivo, um stream de download - e produz um digest fixo de 16 bytes (128 bits). Os bytes sao o valor canonico: e isso que "o MD5" realmente e. A string hexadecimal de 32 caracteres que voce ve na tela e apenas uma codificacao legivel desses 16 bytes (cada byte vira dois caracteres hex). Dois autores podem escrever os mesmos 16 bytes como `D41D8CD98F00B204E9800998ECF8427E` (maiusculas) ou `d41d8cd98f00b204e9800998ecf8427e` (minusculas) ou `d4:1d:8c:d9:8f:00:b2:04:e9:80:09:98:ec:f8:42:7e` (separado por dois pontos, comum em algumas ferramentas antigas) e os tres sao o MESMO hash. Os bytes sao os mesmos.
Para gerar um MD5 novo que voce pode comparar contra um valor esperado publicado, cole o texto original em MD5 Converter: cole a string e copie o resultado. Se a entrada era um arquivo em vez de uma string, veja MD5 vs SHA-256 - Quando Hash para uma decisao de ferramenta; as regras de comparacao abaixo sao as mesmas em qualquer direcao.
Quatro divergencias cosmeticas que ainda significam match
Quatro diferencas comuns no nivel da tela parecem mismatch mas representam o mesmo digest de 16 bytes. Se voce ve apenas essas, os hashes batem.
- Maiusculas vs minusculas. Hex e insensivel a caixa. `D41D8CD98F00B204E9800998ECF8427E` e `d41d8cd98f00b204e9800998ecf8427e` sao o mesmo hash. A forma em minusculas e a convencao canonica usada pela maioria das ferramentas modernas, incluindo o MD5 Converter gratis; algumas ferramentas antigas (e muitas notas de release impressas) usam maiusculas. Passe ambos para minusculas antes de comparar.
- Espaco em branco no inicio ou no final. Um espaco, tab ou nova linha extra copiado junto com o hash e invisivel na tela mas quebra um compare estrito caractere a caractere. Remova os espacos das duas pontas antes de comparar.
- Um byte-order mark (BOM) invisivel. Quando o hash esperado foi publicado em um arquivo `.txt` salvo como UTF-8 com BOM, copiar a primeira linha arrasta uma sequencia invisivel de 3 bytes (`EF BB BF`) junto com o hash. O compare parece uma string de 35 caracteres contra uma de 32. Salve o arquivo de origem novamente como UTF-8 sem BOM, ou retire os 3 primeiros bytes da string copiada.
- Bytes separados por dois pontos ou espacos. Algumas ferramentas antigas formatam o hash como `d4:1d:8c:d9:8f:00:b2:04:e9:80:09:98:ec:f8:42:7e` (16 pares de bytes separados por dois pontos) ou `d4 1d 8c d9 8f 00 b2 04 e9 80 09 98 ec f8 42 7e` (separado por espacos). Tire os separadores e o hex de 32 caracteres por baixo e o mesmo hash.
Tres sinais de que as entradas nao foram as mesmas
Se, apos as limpezas acima, as strings ainda diferem, as entradas nao foram iguais. Os dois hashes foram calculados sobre bytes diferentes.
- Qualquer digito hex diferente. MD5 tem a propriedade avalanche: uma diferenca de um bit na entrada normalmente vira cerca de metade dos bits na saida. Entao mesmo um caractere hex diferente em qualquer lugar da string de 32 caracteres significa que as entradas nao foram as mesmas. Nao existe "quase igual" para hashes - ou todo caractere bate (apos as limpezas cosmeticas acima) ou as entradas divergiram.
- Um comprimento total diferente apos as limpezas. Um digest hex MD5 tem exatamente 32 caracteres. Outros comprimentos significam outros algoritmos: uma string hex de 40 caracteres e SHA-1; 64 caracteres e SHA-256; 8 caracteres e CRC32 (frequentemente mostrado em decimal, nao hex). Se o seu "MD5 esperado" tem 40 ou 64 caracteres, quem publicou usou um algoritmo diferente e voce precisa de outra ferramenta.
- Caracteres nao-hex. Hex MD5 contem apenas `0-9` e `a-f` (ou `A-F`). Um `g`, `h`, `z` ou qualquer outra letra alem de `f` nao e um digito hex MD5. A causa mais comum e a string ser base64 (`/=+` e faixa de letras maior) ou base32 (`a-z` e `2-7`) - uma codificacao diferente dos mesmos 16 bytes, mas as regras de comparacao sao entao diferentes (em base64 sensibilidade a caixa importa).
O fluxo de comparacao em 5 passos
Passe os dois hashes pelos mesmos cinco passos e a comparacao se torna mecanica.
- Converta ambas as strings para minusculas. Isso remove diferencas de caixa no hex.
- Remova espacos em branco no inicio e no final. Isso remove as diferencas de espaco em volta.
- Retire separadores. Remova qualquer `:`, ` ` (espaco), `-` ou outro caractere nao-hex. O resultado deve ser uma unica string de 32 caracteres com digitos hex.
- Confirme que o comprimento e 32 e que os caracteres estao todos em `0-9 a-f`. Se algum dos lados falhar nesta verificacao, voce esta comparando algo que nao e um digest hex MD5 (ou ainda ha contaminacao de BOM / caracteres invisiveis; cole a string em um inspetor hex para detectar).
- Compare caractere a caractere. Se os passos 1-4 produziram duas strings hex identicas de 32 caracteres, os hashes batem - os 16 bytes por baixo sao iguais e as entradas foram as mesmas. Se diferem em qualquer posicao, as entradas foram diferentes.
Quando MD5 e suficiente - e quando nao e
MD5 e apropriado para checagens de corrupcao acidental onde nao ha adversario envolvido: confirmar que um download terminou sem bit-rot quando quem publicou postou o MD5 esperado junto do arquivo; verificar a transferencia de arquivo de um colega contra o MD5 que ele enviou no mesmo email. A probabilidade de dois arquivos nao relacionados produzirem o mesmo MD5 por acaso e infimamente pequena. Entao se voce gerou um hash em MD5 Converter e ele bate com o valor publicado apos o fluxo de 5 passos, o arquivo e o arquivo que quem publicou queria.
MD5 NAO e apropriado para casos adversariais - armazenamento de senhas, assinaturas de seguranca, resistencia a forja. Pesquisadores hoje geram dois arquivos diferentes com o mesmo MD5 em segundos em hardware comum. Para esses casos a ferramenta certa e um algoritmo diferente. Veja MD5 vs SHA-256 - Quando Hash para a questao de escolha de algoritmo, Alternativas a MD5 - bcrypt vs Argon2id vs SHA-256 para a resposta moderna de armazenamento de senhas, e Por Que MD5 Nao Pode Ser Descriptografado para a pergunta relacionada "tenho um MD5 e quero o texto original".
"Quase igual" nao existe para MD5
O guia nao afirma que hashes podem ser "quase iguais". Dois hashes MD5 ou batem exatamente apos normalizacao de caixa e espacos, ou nao batem. A leitura proibida "os hashes provavelmente estao corretos porque parecem quase iguais" nao se aplica ao MD5: hashes ou batem exatamente sob as regras de normalizacao ou nao batem.
A propriedade avalanche da funcao de hash torna essa garantia mecanica: uma mudanca de um bit na entrada vira aproximadamente metade dos bits da saida, entao uma quase-coincidencia no hash nunca corresponde a uma quase-coincidencia nas entradas. Se seu hash do MD5 Converter diverge do valor esperado publicado em algum digito hex, os bytes que voce hasheou nao sao os bytes que quem publicou hasheou - baixe o arquivo de novo ou refaca a fonte. Um caractere hex de diferenca e "as entradas divergiram, refaca tudo", nao "quase correto, refaca so o ultimo bloco".
Guias relacionados de desenvolvedor e MD5: MD5 vs SHA-256 - Quando Hash (escolha de algoritmo), Por Que MD5 Nao Pode Ser Descriptografado (por que MD5 nao e reversivel), MD5 para Texto - Por Que Voce Nao Pode Converter de Volta (contraparte operacional), e Alternativas a MD5 - bcrypt vs Argon2id vs SHA-256 (alternativas modernas para uso adversarial).
Why trust these tools
- Ten-plus years of web tooling. The freetoolonline editorial team has shipped browser-based utilities since 2015. The goal has never changed: get you to a working output fast, without an install.
- Truly in-browser - no upload. Every file-processing tool on this site runs in your browser through modern Web APIs (File, FileReader, Canvas, Web Audio, WebGL, Web Workers). Your photo, PDF, audio, or text never leaves your device.
- No tracking during tool use. Analytics ends at the page view. The actual input you paste, drop, or capture is never sent to any server and never written to any log.
- Open-source core components. The processing engines underneath (libheif, libde265, pdf-lib, terser, clean-css, ffmpeg.wasm, and others) are public and audit-able. We link to each one in its tool page's footer.
- Free, with or without ads. All tools are fully functional without sign-up. The Disable Ads button in the header is always available if you need a distraction-free run.