MD5 vs SHA-256 - quando usar cada função de hash
freetoolonline.com Editorial Team
MD5 e SHA-256 produzem impressões digitais de comprimento fixo de qualquer entrada, mas apenas SHA-256 é seguro contra entradas adversariais. A resistência a colisões do MD5 falhou em 2004. Para assinaturas digitais, use SHA-256. Para verificações de integridade não adversariais, MD5 ainda funciona.
O que uma função de hash realmente faz
Uma função de hash transforma qualquer entrada em uma impressão digital de tamanho fixo: os mesmos bytes geram o mesmo digest, e a mudança de um único bit altera toda a saída.
MD5 retorna 128 bits (32 caracteres hex). SHA-256 retorna 256 bits (64 caracteres hex). Ambos são determinísticos. Ambos são rápidos. Ambos não revelam nada sobre a estrutura da entrada a partir da saída.
Comparação lado a lado
MD5 tem 128 bits e está quebrado por colisão; SHA-256 tem 256 bits e continua sendo o padrão para integridade e assinaturas em 2026.
| Atributo | MD5 | SHA-256 |
|---|---|---|
| Comprimento do digest | 128 bits (32 caracteres hex) | 256 bits (64 caracteres hex) |
| Projetado em | 1991 (Ron Rivest) | 2001 (NSA, FIPS 180-2) |
| Família | linhagem MD4 | família SHA-2 |
| Resistência a colisões | Quebrada desde 2004 (Wang et al.); colisões práticas em segundos | Sem colisão prática conhecida; ~2128 operações para encontrar uma |
| Resistência de segunda pré-imagem | Enfraquecida mas sem ataque prático para entrada pré-computada | Forte; ~2256 operações |
| Velocidade (x86-64 moderno) | ~500 MB/s por núcleo | ~300 MB/s por núcleo (SHA-NI: ~1,5 GB/s) |
| Aceleração de hardware | Sem instrução dedicada | Intel SHA-NI, extensões crypto ARMv8 |
| Seguro para uso criptográfico | Não - não usar para assinaturas, cert pinning, hash de senha | Sim (fora de hash de senha - use Argon2id/bcrypt para senhas) |
Por que MD5 está quebrado e o que isso realmente significa
Um atacante pode criar dois arquivos diferentes com o mesmo MD5, então um MD5 correspondente, por si só, não prova que um download está intacto.
A resistência de segunda pré-imagem do MD5 é mais fraca que a do SHA-256, mas não tem ataque prático conhecido contra entradas arbitrárias já existentes. Essa é a janela estreita onde MD5 ainda é seguro: confirmar que um digest já computado corresponde a um arquivo que você baixou, quando nenhum adversário teve a chance de criar uma colisão contra esse arquivo específico.
Quando MD5 ainda está bem
Checksums rápidos sem requisito de segurança, manifests legados e a detecção de corrupção acidental são casos em que ninguém está atacando a entrada, então MD5 ainda resolve.
Caches de de-duplicação. Um proxy de cache indexa objetos por MD5 de seu conteúdo para detectar repetições. Colisões nesse contexto são benignas - dois objetos diferentes com o mesmo MD5 significam uma falha de cache, sem consequência de segurança.
Fingerprint de linhas de banco de dados. "Este registro mudou desde a última sincronização?" - MD5 da linha, compare com digest armazenado. Mais rápido que SHA-256; o modelo de adversário está ausente.
Endereçamento de conteúdo Git. Git usa SHA-1 (em breve SHA-256), não MD5 - mas a justificativa do design se aplica: para um armazenamento endereçado por conteúdo onde você confia no escritor, um hash de 128 bits é suficiente se a colisão não for um vetor de ataque.
Quando SHA-256 é a escolha correta
Hashes de release, cadeias de certificados, objetos Git e qualquer caso em que um terceiro possa forjar um MD5 em colisão pedem SHA-256.
Cert pinning e impressões digitais de chave pública. A impressão digital SHA-256 da chave pública de um certificado é o padrão para pinning.
Blockchain e armazenamento endereçável por conteúdo onde adversários participam. Bitcoin usa SHA-256 duas vezes (SHA-256d) para cabeçalhos de bloco e identificadores de transação. Qualquer armazenamento onde usuários contribuem conteúdo e colisões podem ser exploradas precisa de SHA-256.
HMAC para autenticação de mensagens. HMAC-SHA-256 é a linha de base para assinatura de requisição de API (AWS Signature v4, GitHub webhooks, Stripe). HMAC-MD5 ainda é usado em alguns protocolos legados mas é cada vez mais sinalizado por scanners de conformidade.
O que usar para senhas (spoiler: nenhum)
Senhas pedem um hash lento e com salt, como Argon2id ou bcrypt. Nem MD5 nem SHA-256 nus da string da senha são armazenamento aceitável.
O guia Senha MD5: como criar hash de uma senha e quando MD5 está errado detalha por que essa recomendação vale especificamente para MD5: uma GPU moderna calcula bilhões de digests MD5 por segundo, o que torna um banco de senhas MD5 roubado quebrável por dicionário em horas, não séculos.
Realidade de desempenho em 2026
Os dois algoritmos terminam arquivos grandes no navegador em segundos, então escolha SHA-256 pelas suas propriedades de confiança, não porque MD5 seja bem mais rápido em uploads típicos.
JavaScript no navegador com WebCrypto (crypto.subtle.digest('SHA-256', data)) atinge ~200 MB/s em um laptop moderno. Nosso conversor MD5 executa MD5 em velocidade similar via implementação wasm.
MD5 ou SHA-256: a regra da fronteira de confiança
A escolha entre MD5 e SHA-256 depende de uma única pergunta - se um adversário pode influenciar a entrada que você está fazendo hash. Se um uploader remoto, um atacante de rede, ou qualquer parte fora de sua fronteira de confiança pode moldar os bytes que chegam a função de hash, escolha SHA-256 (ou SHA-3, ou BLAKE3) para que um ataque de colisão não possa forjar um digest correspondente. Se as entradas vem de seu próprio pipeline e você está fingerprintando-as para cache, de-duplicação, ou detecção de mudança, MD5 está bem e roda ligeiramente mais rápido em CPUs sem aceleração SHA-NI. A decisão é binária e vive na fronteira de confiança; uma vez que você nomeou de qual lado dessa fronteira a entrada está, o algoritmo a usar é determinado.
Ferramentas relacionadas
- MD5 Converter - calcule MD5 de texto ou um arquivo pequeno no navegador.
- Text Diff - compare dois blocos de texto linha por linha.
- Text / HTML Editor - renderize HTML e Markdown ao vivo.
- Current Time (ms) - tempo epoch para correlação de logs.
- MD5 alternatives - bcrypt, Argon2id, SHA-256 - qual algoritmo substitui o MD5 para cada caso de uso, incluindo hashing de senhas e assinatura.
- MD5 hash decrypt - when lookup works, when it cannot - o que "reverter MD5" realmente significa e em que condições uma busca no dicionário tem sucesso.
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.
- No install, no sign-up. Open a tool and get a working output in seconds - nothing to download and no account to create. Tools that need heavy processing run it on our service, so even a low-powered machine gets the job done.
- Analytics stops at the page view. We measure which pages get visited, not what you type or upload inside a tool. There is nothing to sign in to and no profile is attached to your input.
- 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.