Initializing, please wait a moment

MD5 vs SHA-256 - quando usar cada função de hash


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.

See MD5 at a glance: 128-bit digest, designed 1991 by Ron Rivest, MD4 lineage, and known collision resistance breaks.
MD5 at a glance: four key properties before you decide whether to use it or SHA-256.
AtributoMD5SHA-256
Comprimento do digest128 bits (32 caracteres hex)256 bits (64 caracteres hex)
Projetado em1991 (Ron Rivest)2001 (NSA, FIPS 180-2)
Famílialinhagem MD4família SHA-2
Resistência a colisõesQuebrada desde 2004 (Wang et al.); colisões práticas em segundosSem colisão prática conhecida; ~2128 operações para encontrar uma
Resistência de segunda pré-imagemEnfraquecida mas sem ataque prático para entrada pré-computadaForte; ~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 hardwareSem instrução dedicadaIntel SHA-NI, extensões crypto ARMv8
Seguro para uso criptográficoNão - não usar para assinaturas, cert pinning, hash de senhaSim (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


← Voltar para Developer Tools

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.

Related tools:

  • MD5 converter - Text to MD5 + MD5 to text cached lookup.
  • Convert PDF to TEXT online - Extract text from PDF online for copying and editing.
  • Text To HTML Editor - Text to HTML editor online - write in a WYSIWYG view and watch the generated HTML update live, with
  • CSS Gradient Animator Generator - CSS gradient generator - build animated linear gradients with live preview; copy ready-to-paste CSS
  • CSS Minifier - Minify CSS online for faster page loads.
  • CSS UnMinifier - CSS unminifier online - beautify minified CSS with proper indentation, line breaks, and readable
  • JavaScript Minifier - JavaScript minifier online free - paste your JS, click Minify, and copy the compressed code.
  • JSON Parser By Tree View - Paste JSON to validate, format, and view it in a tree.
  • JavaScript UnMinifier - JavaScript unminifier online - reformat minified JS with indentation and line breaks for
  • Keyboard Test - Press each key - the on-screen layout highlights it.
  • Text Diff - Compare code, text, or HTML online, side by side.
  • Developer Tools - Developer tools to parse JSON, minify or unminify CSS/JS, compare text, and generate MD5 hashes.

Tags: #guide, #developer, #md5, #hash

Related guides:

Related news: