SHA-256 vs SHA-512: que função de hash escolher?

SHA-256 e SHA-512 pertencem ambas à família SHA-2, concebida pela NSA e normalizada pelo NIST. Produzem um resumo de tamanho fixo a partir de qualquer dado e são hoje consideradas seguras. A diferença reside no tamanho do resumo, no desempenho consoante a arquitetura e em alguns pormenores de segurança. Eis qual escolher e porquê.

A família SHA-2

SHA-2 reúne várias variantes (SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256) que partilham a mesma estrutura mas diferem no tamanho das palavras e do resumo. O número indica o tamanho do resumo em bits: SHA-256 produz 256 bits (64 caracteres hexadecimais), SHA-512 produz 512 (128 caracteres).

Pode calcular estes resumos com o nosso gerador de hash, ou reconhecer um algoritmo a partir de um resumo com o identificador de hash. Não confundir com o MD5, obsoleto para a segurança (consulte o nosso comparativo MD5 vs SHA-256).

SHA-256

SHA-256 trabalha sobre palavras de 32 bits e produz um resumo de 256 bits. É a função de hash mais difundida no mundo: certificados TLS, assinaturas da Bitcoin, verificação de integridade de ficheiros, git. O seu resumo mais curto torna-o prático de armazenar, mostrar e transmitir.

  • Resumo: 256 bits, 64 caracteres hexadecimais
  • Palavras: 32 bits, ótimo nas plataformas de 32 bits e no embarcado
  • Adoção: a mais ampla, suporte universal

SHA-512

SHA-512 trabalha sobre palavras de 64 bits e produz um resumo de 512 bits. De forma contraintuitiva, num processador de 64 bits moderno, é muitas vezes mais rápida do que SHA-256 para grandes volumes, porque processa mais dados por ronda. O seu resumo mais longo oferece também uma margem de segurança superior.

  • Resumo: 512 bits, 128 caracteres hexadecimais
  • Palavras: 64 bits, ótimo nas arquiteturas de 64 bits
  • Resistência nativa: SHA-512 não é vulnerável ao ataque por extensão de comprimento quando se utilizam as suas variantes truncadas (SHA-512/256)

Tabela comparativa

Critério SHA-256 SHA-512
Tamanho do resumo256 bits (64 hex)512 bits (128 hex)
Tamanho das palavras32 bits64 bits
Velocidade em CPU 64 bitsBoaMuitas vezes superior
Velocidade em 32 bits / embarcadoSuperiorMais lenta
Margem de segurançaMuito elevadaAinda superior
Extensão de comprimentoVulnerávelVulnerável (exceto variantes truncadas)
AdoçãoUniversalAmpla

Desempenho

O desempenho depende da arquitetura. Num servidor ou num portátil de 64 bits, SHA-512 pode superar SHA-256 em 20 a 50 % em ficheiros grandes, porque processa blocos maiores por iteração. Num microcontrolador de 32 bits ou num ambiente restrito, SHA-256 recupera a vantagem.

Na prática, para pequenas entradas (uma palavra-passe, um identificador), a diferença é negligenciável. Só se torna mensurável em volumes importantes ou débitos elevados.

Quando escolher uma ou outra

Escolher SHA-256 quando

  • Procura a compatibilidade máxima e um formato compacto
  • Visa o embarcado, a IoT ou plataformas de 32 bits
  • Verifica a integridade de ficheiros ou assina certificados
  • Um resumo curto facilita a apresentação e o armazenamento

Escolher SHA-512 quando

  • Faz hash de grandes volumes em servidores de 64 bits
  • Pretende a margem de segurança mais ampla possível
  • Utiliza SHA-512/256 para resistir à extensão de comprimento mantendo 256 bits

Importante: nenhuma das duas é adequada para o hash de palavras-passe. Para isso, utilize bcrypt ou Argon2, concebidos para serem lentos e salgados.

Recomendação

Para um uso geral, SHA-256 é a escolha por omissão: universalmente suportado, compacto, amplamente seguro. Opte por SHA-512 se fizer hash de grandes volumes em hardware de 64 bits ou se pretender uma margem de segurança adicional. E para armazenar palavras-passe, recorra a uma função dedicada como o Argon2id, nunca ao SHA-2 sozinho.

Perguntas frequentes

SHA-512 é mais seguro do que SHA-256?

SHA-512 oferece uma margem de segurança teórica superior graças ao seu resumo mais longo, mas SHA-256 já está amplamente fora do alcance dos ataques atuais. Para a quase totalidade dos usos, ambos são considerados seguros.

Porque pode SHA-512 ser mais rápido do que SHA-256?

Porque manipula palavras de 64 bits e processa blocos maiores por ronda. Num processador de 64 bits nativo, isso compensa o custo adicional e torna-o muitas vezes mais rápido em grandes volumes. Em 32 bits, é o inverso.

Posso fazer hash de palavras-passe com SHA-256 ou SHA-512?

Não, seria um erro. Estas funções são rápidas, portanto fáceis de atacar por força bruta. Utilize bcrypt ou Argon2id, que são propositadamente lentos e integram um sal.

O que é o SHA-512/256?

É SHA-512 cujo resumo é truncado a 256 bits, com valores de inicialização diferentes. Obtém-se um resumo de 256 bits, a velocidade do SHA-512 em 64 bits e uma resistência nativa ao ataque por extensão de comprimento.