alltools.one
Security
2025-07-10
9 min
alltools.one Team
HashSHA-256MD5CryptographySecurity

Algoritmos de Hash Comparados: MD5, SHA-1, SHA-256 e Além

Funções hash criptográficas são fundamentais para a computação moderna. Elas verificam integridade de arquivos, protegem senhas, autenticam mensagens e sustentam a tecnologia blockchain. Mas nem todos os algoritmos de hash são iguais. Este guia compara os algoritmos mais utilizados e ajuda você a escolher o certo.

O Que É uma Função Hash?

Uma função hash recebe uma entrada de qualquer tamanho e produz uma saída de comprimento fixo (o "digest" ou "hash"). Boas funções hash têm três propriedades principais:

  1. Determinística: A mesma entrada sempre produz a mesma saída
  2. Efeito avalanche: Uma pequena mudança na entrada altera completamente a saída
  3. Unidirecional: É computacionalmente inviável reverter o hash para obter a entrada

Essas propriedades tornam hashes inestimáveis para verificação de integridade de dados e aplicações de segurança.

Comparação de Algoritmos

AlgoritmoTamanho da SaídaVelocidadeStatus de SegurançaUsar Hoje?
MD5128 bitsMuito rápidoQuebradoApenas checksums
SHA-1160 bitsRápidoQuebradoNão
SHA-256256 bitsModeradoSeguroSim
SHA-384384 bitsModeradoSeguroSim
SHA-512512 bitsRápido em 64-bitSeguroSim
SHA-3-256256 bitsModeradoSeguroSim
BLAKE2b256-512 bitsMuito rápidoSeguroSim
BLAKE3256 bitsExtremamente rápidoSeguroSim

MD5: O Padrão Quebrado

MD5 foi projetado por Ronald Rivest em 1991, produzindo um hash de 128 bits. Por mais de uma década, foi a escolha padrão para checksums e verificação de integridade.

Por que o MD5 está quebrado: Em 2004, pesquisadores demonstraram ataques práticos de colisão — encontrando duas entradas diferentes que produzem o mesmo hash. Em 2008, pesquisadores criaram um certificado CA falso usando colisões MD5. Hoje, colisões podem ser encontradas em segundos em hardware comum.

Quando o MD5 ainda é aceitável: Checksums não relacionados à segurança, como verificar downloads de arquivos onde adulteração não é uma preocupação. Para qualquer coisa relacionada à segurança, evite MD5 completamente.

SHA-1: Depreciado mas Persistente

SHA-1, projetado pela NSA e publicado em 1995, produz um hash de 160 bits. Substituiu o MD5 como padrão por muitos anos.

Por que o SHA-1 está quebrado: Google e CWI Amsterdam demonstraram uma colisão prática em 2017 (o ataque "SHAttered"). Principais navegadores abandonaram o suporte a certificados SHA-1 em 2017. O Git originalmente usava SHA-1 para hashes de commit e está migrando para SHA-256.

Status atual: Depreciado para todos os fins de segurança. Se você encontrar SHA-1 em sistemas legados, planeje uma migração para SHA-256 ou SHA-3.

SHA-256: O Padrão Atual

SHA-256 pertence à família SHA-2, projetada pela NSA e publicada em 2001. Produz um hash de 256 bits e é o algoritmo de hash seguro mais amplamente utilizado hoje.

Segurança: Nenhum ataque prático foi encontrado contra o SHA-256. Ele fornece 128 bits de resistência a colisão, considerado suficiente para o futuro previsível.

Performance: SHA-256 é mais lento que MD5 e SHA-1, o que é na verdade uma vantagem quando usado para hash de senhas (mais lento = mais difícil de forçar bruta). Em CPUs modernas com aceleração de hardware (instruções SHA-NI), a performance é excelente.

Onde o SHA-256 é usado:

  • Certificados TLS/SSL
  • Mineração de Bitcoin
  • Assinaturas digitais
  • Assinatura de código
  • Verificação de integridade de arquivos

Gere hashes SHA-256 instantaneamente com nosso Gerador de Hash.

SHA-3: O Padrão Alternativo

SHA-3, baseado no algoritmo Keccak, venceu a competição de funções hash do NIST em 2012. Usa uma estrutura interna completamente diferente (construção esponja) do SHA-2.

Por que o SHA-3 importa: Se um avanço matemático comprometer o SHA-2, o SHA-3 fornece uma alternativa completamente independente. Seu design diferente significa que uma vulnerabilidade no SHA-2 provavelmente não afetará o SHA-3.

Adoção: A adoção do SHA-3 tem sido mais lenta que o esperado porque o SHA-2 permanece intacto. É cada vez mais usado em aplicações blockchain e como hash secundário em arquiteturas de defesa em profundidade.

BLAKE2 e BLAKE3: Campeões de Velocidade

BLAKE2 (2012) e BLAKE3 (2020) são funções hash modernas projetadas para performance sem comprometer a segurança.

Destaques do BLAKE3:

  • Mais rápido que MD5 em CPUs modernas
  • Inerentemente paralelo (escala com núcleos de CPU)
  • Saída de 256 bits
  • Suporte integrado para hashing com chave e derivação de chave

Para aplicações onde velocidade é crítica e você não está restrito a padrões NIST, BLAKE3 é uma excelente escolha.

Escolhendo o Algoritmo Certo

Para Hash de Senhas

Não use nenhum dos acima diretamente. Use funções dedicadas de hash de senhas: Argon2id (vencedor da Competição de Hash de Senhas), bcrypt ou scrypt. Estas são intencionalmente lentas e exigentes em memória para resistir a ataques de força bruta. Saiba mais em nosso guia de segurança de senhas.

Para Integridade de Arquivos

SHA-256 é a escolha padrão. Se performance é crítica e você controla ambos os endpoints, BLAKE3 é mais rápido mantendo a segurança.

Para Assinaturas Digitais

SHA-256 ou SHA-384, dependendo do nível de segurança necessário. Aplicações governamentais e financeiras frequentemente exigem SHA-384 ou SHA-512.

Para Checksums (Não-Segurança)

CRC32 ou xxHash para velocidade quando segurança não é uma preocupação. Se você precisa de garantia criptográfica, SHA-256 é o mínimo.

Para Aplicações Blockchain

SHA-256 (Bitcoin), Keccak-256 (Ethereum) ou BLAKE2b (Zcash). A escolha frequentemente depende dos requisitos específicos do protocolo.

Colisões de Hash Explicadas

Uma colisão ocorre quando duas entradas diferentes produzem a mesma saída hash. O paradoxo do aniversário significa que colisões são encontradas muito mais rápido do que você esperaria:

  • Para um hash de 128 bits (MD5), uma colisão requer aproximadamente 2^64 operações
  • Para um hash de 256 bits (SHA-256), uma colisão requer aproximadamente 2^128 operações

Essa diferença exponencial é o motivo pelo qual dobrar o comprimento do hash fornece muito mais que o dobro da segurança.

Exemplo Prático

Veja como a mesma entrada aparece em diferentes algoritmos:

Input: "Hello, World!"
MD5:    65a8e27d8879283831b664bd8b7f0ad4
SHA-1:  0a0a9f2a6772942557ab5355d76af442f8f65e01
SHA-256: dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f

Experimente gerar esses você mesmo com nosso Gerador de Hash. Todo o processamento acontece no seu navegador — seus dados permanecem privados.

FAQ

O SHA-256 é resistente a computação quântica?

O SHA-256 é parcialmente resistente a ataques quânticos. O algoritmo de Grover poderia reduzir a segurança efetiva de 256 bits para 128 bits para ataques de pré-imagem, o que ainda é considerado seguro. Para resistência a colisão, computadores quânticos oferecem menos vantagem. Padrões de criptografia pós-quântica focam mais em criptografia e assinaturas do que em funções hash.

Devo usar SHA-512 em vez de SHA-256 para segurança extra?

Para a maioria das aplicações, SHA-256 fornece segurança suficiente. SHA-512 é na verdade mais rápido em processadores de 64 bits devido à sua estrutura interna, então pode ser uma boa escolha por razões de performance. O comprimento extra do hash fornece resistência adicional a colisão, mas raramente é o fator decisivo.

Recursos Relacionados

Published on 2025-07-10
Hash Algorithms Compared: MD5, SHA-1, SHA-256, and Beyond | alltools.one