Pular para o conteúdo principal
DevTools by Decussi
  • Ferramentas
  • Dados
  • Segurança
  • Rede
  • Texto
  • Data
  • Web
  • Dev
  • SEO
  • Brasil
Ferramentas
DevTools

Ferramentas para desenvolvedores, em português. Sem cadastro e sem instalação.

Criado e mantido por Decussi

Ferramentas

  • Todas as ferramentas
  • Dados
  • Segurança
  • Rede
  • Texto
  • Data
  • Web
  • Dev
  • SEO
  • Brasil

Referência

  • Consulta rápida
  • Guias
  • Códigos HTTP
  • Cron
  • Checagens de SEO

Desenvolvedores

  • API e devs
  • llms.txt
  • ai.txt
  • Sitemap

Newsletter

Receba novidades e novas ferramentas no seu email.

Sugira uma ferramenta

Tem uma ideia? Envie sua sugestão.

  1. Início
  2. /Guias
  3. /Comparações

MD5 vs SHA-256: qual usar e quando nenhum dos dois serve

MD5 e SHA-256 são funções de hash, mas resolvem problemas diferentes hoje. E, para o caso mais comum — guardar senha — a resposta certa não é nenhum dos dois.

Comparação direta

MD5SHA-256
Tamanho do hash128 bits (32 caracteres hex)256 bits (64 caracteres hex)
Ano19922001
Colisões conhecidasSim, produzíveis em segundosNenhuma conhecida
Uso em segurançaDesaconselhadoRecomendado
VelocidadeMuito rápidoRápido
Uso ainda válidoVerificar integridade sem adversárioAssinatura, integridade, derivação

Por que MD5 saiu de cena

Uma função de hash criptográfica precisa tornar inviável produzir duas entradas com o mesmo resultado. Em MD5 isso deixou de ser verdade: colisões podem ser geradas em segundos num computador comum, o que permite forjar documento, certificado ou assinatura.

MD5 continua útil onde não existe adversário — conferir se um download corrompeu, por exemplo. Onde alguém pode ganhar algo forjando o dado, ele não serve mais.

Nenhum dos dois para senha

MD5 e SHA-256 foram projetados para serem rápidos, e é justamente por isso que não servem para senha: uma GPU calcula bilhões de hashes por segundo, o que torna a força bruta viável.

Senha exige hash deliberadamente lento e com salt, como bcrypt, scrypt ou Argon2. Eles têm um fator de custo ajustável, que se aumenta conforme o hardware evolui.

javascript
// ✗ nunca faça isso com senha
const hash = crypto.createHash("sha256").update(senha).digest("hex");

// ✓ bcrypt: lento de propósito, com salt embutido
import bcrypt from "bcryptjs";
const hash = await bcrypt.hash(senha, 12);
const confere = await bcrypt.compare(senha, hash);

Como escolher

  • Verificar integridade de download sem adversário: MD5 ou SHA-256, tanto faz
  • Assinatura, certificado, verificação de conteúdo em contexto de segurança: SHA-256
  • Guardar senha de usuário: bcrypt ou Argon2, nunca hash rápido
  • Autenticar mensagem com segredo compartilhado: HMAC-SHA-256
  • Identificador estável de conteúdo, sem contexto de segurança: SHA-256 truncado é uma escolha comum

Perguntas frequentes

Ainda posso usar MD5 para alguma coisa?
Sim, para verificar integridade onde ninguém ganha nada forjando o arquivo — conferir se um download corrompeu, por exemplo. Em qualquer contexto de segurança, use SHA-256.
SHA-256 é reversível?
Não. Hash é de mão única. O que existe são ataques de dicionário e tabelas pré-calculadas, que só funcionam para entradas curtas ou previsíveis — e é exatamente por isso que senha precisa de salt.

Resolva na prática

  • Gerador de hash
  • Identificador de hash
  • Bcrypt Compare

Guias relacionados

  • JWT vs sessão com cookie: qual escolher para autenticação