Initializing, please wait a moment

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.

Resposta em 30 segundos. A alternativa correta ao MD5 depende do trabalho. Armazenar senhas? Use Argon2id (recomendacao atual da OWASP) ou bcrypt (amplo suporte de bibliotecas). Proteger integridade contra um adversario? Use SHA-256 com HMAC. Derivar uma chave a partir de uma senha? Use PBKDF2 (ambientes que exigem FIPS) ou Argon2id em outros lugares. Chaves de cache, ETags, deduplicacao em dados nao adversarios? MD5 ainda esta bem - passe pelo conversor MD5.

A decisao em uma tabela

Caso de usoEscolhaPor queNao escolha MD5 porque
Armazenar senhas de usuario (web, mobile, API)Argon2id (preferido), bcrypt (alternativa)Memoria-rigido + custo ajustavel; resiste a forca bruta em GPUMD5 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 loginEnvolva MD5(senha) dentro de Argon2id durante o reset progressivoHashes MD5 puros vazam rapido; assuma comprometimento na divulgacao
Integridade de arquivo contra entrada adversariaSHA-256Ataques de colisao praticos contra MD5 desde 2004; SHA-256 ainda seguroUm atacante pode criar dois arquivos diferentes que compartilham um MD5
Integridade de arquivo contra corrupcao acidental apenasMD5 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-256HMAC anexa uma chave ao hash; HMAC-MD5 esta quebrado na praticaHMAC-MD5 e descontinuado pelo NIST e pela IETF
Derivacao de chave a partir de uma senhaArgon2id (preferido), PBKDF2 (FIPS)Projetado para derivacao senha-para-chave com fator de custoMD5 nao tem fator de custo; produz o mesmo digest em nanossegundos
Chaves de cache, ETags, chaves de dedupMD5 (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 atacanteSHA-256Ataques de colisao permitiriam que um atacante substitua conteudo com o mesmo enderecoMD5 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 ETag para 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Integridade nao adversaria, cache, ETag, dedup - deixe em paz. Nao agite codigo funcional por razoes teoricas. MD5 esta bem aqui.

Relacionado

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.