Alternativas ao MD5: bcrypt vs Argon2id vs SHA-256 - Quando Cada Um Cabe
Ultima revisao 2026-05-02. Se voce chegou aqui tentando recuperar uma senha em texto puro a partir de um hash MD5, leia Why MD5 Cannot Be Decrypted primeiro - a resposta curta e que nao existe chave, e buscas em rainbow tables so funcionam para entradas muito comuns. Esta pagina cobre o que usar em vez, por caso de uso.
A decisao em uma tabela
| Caso de uso | Escolha | Por que | Nao escolha MD5 porque |
|---|---|---|---|
| Armazenar senhas de usuario (web, mobile, API) | Argon2id (preferido), bcrypt (alternativa) | Memoria-rigido + custo ajustavel; resiste a forca bruta em GPU | MD5 e rapido demais - GPUs computam bilhoes de hashes/seg, senhas comuns caem em milissegundos |
| Banco de senhas MD5 existente (legado) | Migre para Argon2id no proximo login | Envolva MD5(senha) dentro de Argon2id durante o reset progressivo | Hashes MD5 puros vazam rapido; assuma comprometimento na divulgacao |
| Integridade de arquivo contra entrada adversaria | SHA-256 | Ataques de colisao praticos contra MD5 desde 2004; SHA-256 ainda seguro | Um atacante pode criar dois arquivos diferentes que compartilham um MD5 |
| Integridade de arquivo contra corrupcao acidental apenas | MD5 ou SHA-256 (qualquer um serve) | Dados naturais nao colidem com MD5 na pratica | (MD5 e aceitavel aqui; escolha pela conveniencia da ferramenta) |
| Autenticacao de mensagem (HMAC) | HMAC-SHA-256 | HMAC anexa uma chave ao hash; HMAC-MD5 esta quebrado na pratica | HMAC-MD5 e descontinuado pelo NIST e pela IETF |
| Derivacao de chave a partir de uma senha | Argon2id (preferido), PBKDF2 (FIPS) | Projetado para derivacao senha-para-chave com fator de custo | MD5 nao tem fator de custo; produz o mesmo digest em nanossegundos |
| Chaves de cache, ETags, chaves de dedup | MD5 (esta bem) | Impressao digital de comprimento fixo de entrada arbitraria; colisoes nao importam para dados nao adversarios | (este e o caso onde MD5 ainda merece seu lugar) |
| Armazenamento enderecavel por conteudo (CAS) sob influencia de atacante | SHA-256 | Ataques de colisao permitiriam que um atacante substitua conteudo com o mesmo endereco | MD5 nao pode garantir unicidade contra entradas criadas |
Argon2id vs bcrypt para senhas
Argon2id e o hash de senha recomendado pela OWASP desde 2022. E memoria-rigido, o que significa que um atacante com GPU tem que alocar centenas de megabytes por palpite paralelo. O ponto de partida recomendado e Argon2id, m=64MB, t=3, p=4. O fator de custo escala com o hardware: reavalie a cada dois anos e aumente os parametros.
bcrypt e o vice-campeao bem suportado. E mais antigo (1999), usa um fator de custo ajustavel expresso como o log2 de iteracoes (custo 12 na hora desta redacao). Nao e memoria-rigido, o que e sua principal fraqueza vs Argon2id, mas seu suporte de bibliotecas em todo framework web e mais amplo. Escolha bcrypt apenas se sua plataforma ainda nao tem um binding Argon2id mantido.
Qualquer um dos dois esta correto em 2026. Nao armazene senhas como MD5 + salt - esse esquema cai em uma unica GPU em dias mesmo com um salt longo aleatorio, porque MD5 e o gargalo, nao o salting.
SHA-256 vs MD5 para integridade
Se a entrada pode ser criada por um atacante, use SHA-256. O ataque Wang de 2004 e a colisao Stevens / Lenstra de 2008 em um certificado X.509 mostraram que duas entradas diferentes podem ser feitas para compartilhar um unico MD5. Para uma assinatura digital, assinatura de codigo, ou qualquer coisa onde um atacante pode substituir o conteudo deles pelo seu, MD5 esta quebrado; SHA-256 e a primitiva correta.
Se a entrada e apenas um download que voce controla ou um artefato de build que voce produziu, MD5 ainda esta bem para verificacao de integridade. Ele pega as inversoes aleatorias de bit que voce realmente ve na pratica (raios cosmicos, cabos ruins, discos ruins). O conjunto completo de trade-offs MD5 vs SHA-256 esta em MD5 vs SHA-256 - quando hashear com cada um.
PBKDF2 - o caminho FIPS
PBKDF2 e a funcao de derivacao de chave baseada em senha que o NIST abencoou em 2000. E baseada em iteracoes: voce escolhe uma contagem, roda um hash subjacente esse numero de vezes, e o fator de trabalho segue. Nao e memoria-rigido, entao e mais fraco que Argon2id contra GPUs modernas, mas e a escolha certa quando seu ambiente requer um algoritmo FIPS 140-2 / 140-3. A contagem de iteracoes a usar em 2026 com HMAC-SHA-256 por baixo e 600.000 ou mais por orientacao da OWASP; com HMAC-SHA-512 e 210.000 ou mais. Numeros mais baixos ainda sao comuns em codigo legado; aumente-os no proximo deploy.
"Onde MD5 ainda pertence" - a lista de trabalho
- Chaves de cache. Hashear uma URL longa ou string de query em uma chave de comprimento fixo para memcached, Redis ou um nome de arquivo. Colisoes nao importam; velocidade importa.
- Impressoes digitais de conteudo no estilo ETag. Emita MD5 de um corpo de resposta como o cabecalho
ETagpara que os clientes possam revalidar sem baixar novamente. - Verificacao de integridade de arquivo em um download que voce produziu. Publique MD5 ao lado do arquivo; usuarios comparam localmente. Muitos espelhos Linux ainda publicam tanto MD5 quanto SHA-256 para compatibilidade.
- Deduplicacao de uploads recebidos. Pegue uma impressao digital do fluxo de bytes com MD5 para curto-circuitar o armazenamento de uma duplicata exata antes de persisti-la.
- Fixtures de teste e IDs de snapshot. Hash um blob JSON canonico para produzir IDs deterministicos para fixtures de teste unitario.
Para todos esses, o conversor MD5 e a superficie certa - cole texto, obtenha o hash, copie o resultado.
Lista de verificacao da migracao - movendo um app existente para fora do MD5
- Audite onde MD5 e usado. Grep a base de codigo por
md5,MessageDigest.getInstance("MD5"),hashlib.md5,crypto.createHash('md5'). Marque cada uso como um de: senhas, MAC, integridade, cache. - Senhas - migracao progressiva. Adicione um verificador Argon2id ao lado do verificador MD5. No proximo login bem-sucedido, recompute a senha sob Argon2id, armazene o novo verificador, descarte a linha MD5. Rotacione cada conta em 90 dias; force-reset o que sobrar.
- MAC - substitua por HMAC-SHA-256. Implantacoes HMAC-MD5 da epoca de 2010 em APIs devem rotacionar chaves e re-emitir clientes com HMAC-SHA-256.
- Integridade adversaria - substitua por SHA-256. Qualquer coisa assinando conteudo enviado por usuario, distribuicao de pacotes, ou codigo de terceiro vai para SHA-256 imediatamente.
- Integridade nao adversaria, cache, ETag, dedup - deixe em paz. Nao agite codigo funcional por razoes teoricas. MD5 esta bem aqui.
Relacionado
- MD5 converter - a ferramenta em si, para os casos de uso onde MD5 ainda esta bem.
- Why MD5 cannot be decrypted - a resposta a confusao mais comum por tras das consultas de alternativas ao MD5.
- MD5 vs SHA-256 - Quando Usar Cada Um - a comparacao estreita se SHA-256 for seu unico candidato.
- SHA-256 converter - a primitiva de integridade contra adversario.
- Developer tools hub - o conjunto completo de ferramentas de desenvolvedor.
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.