🧰 ToolPicoTodas as ferramentas →
InícioBlog › MD5, SHA-256 ou SHA3?

MD5, SHA-256 ou SHA3? Como escolher o algoritmo de hash certo para cada situação

Um gerador de hash pode calcular sete algoritmos diferentes de uma só vez — mas isso não significa que sirvam todos para o mesmo. Este guia explica as diferenças práticas entre MD5, SHA-1, a família SHA-2 e o SHA3, quando entra o HMAC em cena, e o que ainda falta no ecossistema de algoritmos.

Índice

Nem todos os hashes servem para a mesma coisa

Resposta rápidaA escolha do algoritmo de hash depende do objetivo: velocidade para um checksum informal, resistência a colisões para assinaturas e certificados, ou autenticação com chave quando é preciso confirmar a origem dos dados, não só a integridade.

É tentador tratar "hash" como um conceito único e escolher o primeiro algoritmo da lista. Mas um MD5 calculado em milissegundos para confirmar que um ficheiro de exemplo não corrompeu numa transferência interna não tem as mesmas garantias de segurança que um SHA-256 usado para verificar a assinatura de um certificado digital. O gerador de hash da ToolPico calcula MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256 e SHA3-512 em paralelo, exatamente para permitir comparar resultados lado a lado antes de decidir qual usar num projeto real.

Exemplo hipotético: imagina uma equipa que distribui um ficheiro de configuração interno via rede local. Para confirmar que a cópia chegou sem erros de transmissão, um MD5 rápido é suficiente — não há adversário a tentar forjar uma colisão. Já para assinar um pacote de software distribuído publicamente, faz mais sentido usar SHA-256, porque aí a integridade tem de resistir a alguém a tentar adulterar o ficheiro de propósito.

Tabela comparativa dos algoritmos

Eis um resumo prático, pensado para quem só quer saber "qual uso agora":

AlgoritmoEstrutura internaRecomendação de uso
MD5Merkle–DamgårdSó checksums não críticos
SHA-1Merkle–DamgårdLegado — evitar em novos projetos
SHA-256 / SHA-512Merkle–Damgård (SHA-2)Padrão recomendado atualmente
SHA3-256 / SHA3-512Esponja KeccakAlternativa estrutural, diversificação de risco

Repara na coluna "Estrutura interna": o MD5, o SHA-1 e a família SHA-2 partilham o mesmo desenho matemático de base (Merkle–Damgård), enquanto o SHA3 usa uma construção diferente, chamada esponja Keccak. Isto é relevante porque, se alguma vez se encontrar uma fraqueza que afete todos os algoritmos com a mesma estrutura, o SHA3 continuaria a ser uma alternativa independente — foi precisamente esse o motivo por trás da normalização do SHA3 pelo NIST.

HMAC e checksum: quando usar cada um

Resposta rápidaUm hash simples confirma que os dados não mudaram; um HMAC (hash com chave secreta) confirma também que os dados vieram de quem diz tê-los enviado. Um checksum como o CRC32 é mais leve e serve sobretudo para detetar erros acidentais, não ataques deliberados.

Um caso de uso ilustrativo: um serviço de pagamentos envia notificações por webhook e assina cada mensagem com HMAC-SHA256, usando uma chave secreta partilhada apenas com o destinatário. Quem recebe a notificação recalcula o HMAC com a mesma chave e compara com o valor recebido — se coincidir, confirma-se não só que a mensagem não foi alterada, mas também que só quem tinha a chave a pôde ter gerado. Um hash simples, sem chave, não oferece essa segunda garantia: qualquer pessoa poderia recalcular um SHA-256 comum sobre dados falsificados.

Já um checksum como o CRC32 (também disponível nesta ferramenta) é mais rápido de calcular mas mais fácil de forjar deliberadamente — está bem para detetar corrupção acidental em ficheiros comprimidos, mas não deve ser tratado como proteção contra alteração intencional.

O que falta: RIPEMD-160 e outros chips de algoritmo

Mesmo com sete algoritmos disponíveis, há situações de nicho em que aparece a necessidade de reproduzir um hash calculado noutro sistema com um algoritmo menos comum. Um exemplo é o RIPEMD-160: um algoritmo europeu de 160 bits, desenvolvido nos anos 90, que ainda aparece em certos sistemas de carteiras de criptomoedas e em algum software de código aberto mais antigo. Não está incluído entre os algoritmos calculados atualmente por esta ferramenta.

Nota: se precisares de comparar um hash RIPEMD-160 vindo de outra fonte, tens de recorrer, por agora, a uma biblioteca dedicada ou a outra ferramenta — pode fazer sentido considerá-lo, no futuro, como mais um "chip" de algoritmo opcional junto aos já disponíveis nesta calculadora, tal como o SHA3 foi acrescentado à lista original de MD5/SHA-2.

Isto ilustra bem um princípio geral: uma ferramenta de hash útil não precisa de suportar todos os algoritmos que alguma vez existiram, mas beneficia de cobrir os mais usados em cada área — geral (SHA-256), legado (MD5/SHA-1), diversificação estrutural (SHA3) e, eventualmente, nichos específicos como criptomoedas mais antigas (RIPEMD-160).

Compara os sete algoritmos em segundos Calcula MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256 e SHA3-512 do mesmo texto ou ficheiro, gratuitamente e no navegador. Experimentar a ferramenta →

Perguntas frequentes

O que é o SHA3 e em que difere do SHA-2?
O SHA3 (baseado no algoritmo Keccak) é uma família de hash construída com uma estrutura interna diferente da usada pelo SHA-1 e pelo SHA-2 (SHA-256/384/512). Foi normalizado depois de um concurso público do NIST, precisamente para oferecer uma alternativa estrutural caso alguma vez se descubra uma fraqueza na construção do SHA-2. Na prática, para a maioria dos usos o SHA-256 continua a ser suficiente; o SHA3-256/512 é uma opção adicional para quem quer diversidade de algoritmo.
O que é o HMAC e quando devo usá-lo em vez de um hash simples?
HMAC (Hash-based Message Authentication Code) combina uma chave secreta com uma função de hash como o SHA-256, produzindo uma assinatura que só quem conhece a chave consegue gerar ou verificar. Usa-se HMAC quando é preciso confirmar não só que os dados não mudaram, mas também que vieram de quem diz ter enviado — por exemplo, para validar a assinatura de um webhook. Um hash simples (sem chave) só serve para detetar alterações, não para autenticar a origem.
Um checksum e um hash são a mesma coisa?
São conceitos relacionados mas não idênticos. Um checksum é qualquer valor curto calculado a partir de dados para detetar erros de transmissão (por exemplo, CRC32, muito usado em ficheiros comprimidos). Um hash criptográfico como o SHA-256 também pode servir de checksum, mas foi desenhado com garantias adicionais — como ser extremamente difícil de forjar uma colisão intencional — que um checksum simples como o CRC32 não oferece.
Existem outros algoritmos de hash além de MD5, SHA e SHA3?
Sim. Um exemplo é o RIPEMD-160, um algoritmo de 160 bits desenvolvido na Europa nos anos 90, historicamente usado em certos sistemas de criptomoedas e software de código aberto. Não está disponível nesta ferramenta atualmente, mas pode ser considerado como um chip de algoritmo extra numa futura atualização para quem precisa de reproduzir hashes calculados noutro sistema que o utilize.
Porque é que o mesmo texto pode dar hashes diferentes em sites diferentes?
Normalmente não dá — se o algoritmo e a codificação de caracteres forem exatamente os mesmos, o resultado é sempre idêntico. As diferenças mais comuns surgem por causa de espaços ou quebras de linha invisíveis coladas junto ao texto, por uma codificação de caracteres diferente (UTF-8 vs. outra), ou por confundir o formato de saída — hexadecimal e Base64 representam o mesmo hash de forma diferente.
Nota de metodologia: este artigo é apenas informativo e não substitui verificações formais de segurança em contextos críticos. Os exemplos apresentados são hipotéticos/ilustrativos e não constituem dados reais medidos; os valores de hash exatos dependem sempre dos dados processados.