Alternativas ao MD5: bcrypt vs Argon2id vs SHA-256 - Quando Cada Um Cabe
Última revisão 2026-05-02. Se você 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 é que não existe chave, e buscas em rainbow tables só funcionam para entradas muito comuns. Esta página cobre o que usar em vez, por caso de uso.
A decisão em uma tabela
A decisão em uma tabela é Argon2id ou bcrypt para senhas, SHA-256 para integridade e PBKDF2 quando FIPS obriga - em MD5 Alternatives escolha a linha que casa com a tarefa.
| Caso de uso | Escolha | Por que | Não escolha MD5 porque |
|---|---|---|---|
| Armazenar senhas de usuário (web, mobile, API) | Argon2id (preferido), bcrypt (alternativa) | Memória-rígido + custo ajustável; resiste a força bruta em GPU | MD5 é rápido demais - GPUs computam bilhões de hashes/seg, senhas comuns caem em milissegundos |
| Banco de senhas MD5 existente (legado) | Migre para Argon2id no próximo login | Envolva MD5(senha) dentro de Argon2id durante o reset progressivo | Hashes MD5 puros vazam rápido; assuma comprometimento na divulgação |
| Integridade de arquivo contra entrada adversária | SHA-256 | Ataques de colisão práticos contra MD5 desde 2004; SHA-256 ainda seguro | Um atacante pode criar dois arquivos diferentes que compartilham um MD5 |
| Integridade de arquivo contra corrupção acidental apenas | MD5 ou SHA-256 (qualquer um serve) | Dados naturais não colidem com MD5 na prática | (MD5 é aceitável aqui; escolha pela conveniência da ferramenta) |
| Autenticação de mensagem (HMAC) | HMAC-SHA-256 | HMAC anexa uma chave ao hash; HMAC-MD5 está quebrado na prática | HMAC-MD5 é descontinuado pelo NIST e pela IETF |
| Derivação de chave a partir de uma senha | Argon2id (preferido), PBKDF2 (FIPS) | Projetado para derivação senha-para-chave com fator de custo | MD5 não tem fator de custo; produz o mesmo digest em nanossegundos |
| Chaves de cache, ETags, chaves de dedup | MD5 (está bem) | Impressão digital de comprimento fixo de entrada arbitrária; colisões não importam para dados não adversários | (este é o caso onde MD5 ainda merece seu lugar) |
| Armazenamento endereçável por conteúdo (CAS) sob influência de atacante | SHA-256 | Ataques de colisão permitiriam que um atacante substitua conteúdo com o mesmo endereço | MD5 não pode garantir unicidade contra entradas criadas |
Argon2id vs bcrypt para senhas
Argon2id é o hash de senha recomendado pela OWASP desde 2022. É memória-rígido, o que significa que um atacante com GPU tem que alocar centenas de megabytes por palpite paralelo. O ponto de partida recomendado é Argon2id, m=64MB, t=3, p=4. O fator de custo escala com o hardware: reavalie a cada dois anos e aumente os parâmetros.
bcrypt é o vice-campeão bem suportado. É mais antigo (1999), usa um fator de custo ajustável expresso como o log2 de iterações (custo 12 na hora desta redação). Não é memória-rígido, o que é sua principal fraqueza vs Argon2id, mas seu suporte de bibliotecas em todo framework web é mais amplo. Escolha bcrypt apenas se sua plataforma ainda não tem um binding Argon2id mantido.
Uma terceira opção resistente a memória é o scrypt (RFC 7914). Precede o Argon2id e usa uma abordagem semelhante de custo de memória e CPU. Prefira Argon2id quando sua plataforma o suportar; use scrypt como substituto se os bindings de Argon2id não estiverem disponíveis e você precisar de resistência a memória sem a limitação apenas-CPU do bcrypt.
Qualquer um de Argon2id ou bcrypt está correto em 2026. Não armazene senhas como MD5 + salt - esse esquema cai em uma única GPU em dias mesmo com um salt longo aleatório, porque MD5 é o gargalo, não 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 colisão Stevens / Lenstra de 2008 em um certificado X.509 mostraram que duas entradas diferentes podem ser feitas para compartilhar um único MD5. Para uma assinatura digital, assinatura de código, ou qualquer coisa onde um atacante pode substituir o conteúdo deles pelo seu, MD5 está quebrado; SHA-256 é a primitiva correta.
Se a entrada é apenas um download que você controla ou um artefato de build que você produziu, MD5 ainda está bem para verificação de integridade. Ele pega as inversões aleatórias de bit que você realmente vê na prática (raios cósmicos, cabos ruins, discos ruins). O conjunto completo de trade-offs MD5 vs SHA-256 está em MD5 vs SHA-256 - quando hashear com cada um.
PBKDF2 - o caminho FIPS
PBKDF2 é a função de derivação de chave baseada em senha que o NIST abençoou em 2000. É baseada em iterações: você escolhe uma contagem, roda um hash subjacente esse número de vezes, e o fator de trabalho segue. Não é memória-rígido, então é mais fraco que Argon2id contra GPUs modernas, mas é a escolha certa quando seu ambiente requer um algoritmo FIPS 140-2 / 140-3. A contagem de iterações a usar em 2026 com HMAC-SHA-256 por baixo é 600.000 ou mais por orientação da OWASP; com HMAC-SHA-512 é 210.000 ou mais. Números mais baixos ainda são comuns em código legado; aumente-os no próximo 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. Colisões não importam; velocidade importa.
- Impressões digitais de conteúdo no estilo ETag. Emita MD5 de um corpo de resposta como o cabeçalho
ETagpara que os clientes possam revalidar sem baixar novamente. - Verificação de integridade de arquivo em um download que você produziu. Publique MD5 ao lado do arquivo; usuários comparam localmente. Muitos espelhos Linux ainda publicam tanto MD5 quanto SHA-256 para compatibilidade.
- Deduplicação de uploads recebidos. Pegue uma impressão 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 canônico para produzir IDs determinísticos para fixtures de teste unitário.
Para todos esses, o conversor MD5 é a superfície certa - cole texto, obtenha o hash, copie o resultado.
Lista de verificação da migração - movendo um app existente para fora do MD5
- Audite onde MD5 é usado. Grep a base de código por
md5,MessageDigest.getInstance("MD5"),hashlib.md5,crypto.createHash('md5'). Marque cada uso como um de: senhas, MAC, integridade, cache. - Senhas - migração progressiva. Adicione um verificador Argon2id ao lado do verificador MD5. No próximo 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. Implantações HMAC-MD5 da época de 2010 em APIs devem rotacionar chaves e re-emitir clientes com HMAC-SHA-256.
- Integridade adversária - substitua por SHA-256. Qualquer coisa assinando conteúdo enviado por usuário, distribuição de pacotes, ou código de terceiro vai para SHA-256 imediatamente.
- Integridade não adversária, cache, ETag, dedup - deixe em paz. Não agite código funcional por razões teóricas. MD5 está bem aqui.
Relacionado
Estes guias relacionados abordam as questões que os leitores trazem para a decisão de alternativas ao MD5 - a comparação completa MD5 vs SHA-256, por que o MD5 não pode ser revertido e a ferramenta para os casos em que o MD5 ainda serve.
- MD5 converter - a ferramenta em si, para os casos de uso onde MD5 ainda está bem.
- Why MD5 cannot be decrypted - a resposta a confusão mais comum por trás das consultas de alternativas ao MD5.
- MD5 vs SHA-256 - Quando Usar Cada Um - a comparação estreita se SHA-256 for seu único candidato.
- SHA-256 converter - a primitiva de integridade contra adversário.
- Developer tools hub - o conjunto completo de ferramentas de desenvolvedor.
- Link de download não aparece após conversão - cinco soluções - explica por que o botão de download pode parar de aparecer após uma operação de hash ou conversão, e como restaurá-lo.
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.