NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
API Security7 min read

SHA-1 vs SHA-256: Principais Diferenças, Segurança e Quando Usar Cada Um

S
Shreya Srivastava
Content Team
Updated on: February 2026

SHA-1 vs SHA-256: Resumo Rápido

SHA-1 e SHA-256 são funções de hash criptográfico da família SHA (Secure Hash Algorithm), mas diferem significativamente em força de segurança e tamanho de saída. O SHA-1 é considerado quebrado para fins de segurança, enquanto o SHA-256 permanece seguro. Veja uma comparação rápida:

Característica

SHA-1

SHA-256

Família do Algoritmo

SHA-1

SHA-2

Tamanho de Saída

160 bits (40 caracteres hex)

256 bits (64 caracteres hex)

Status de Segurança

Quebrado, ataques de colisão demonstrados

Seguro, sem ataques práticos conhecidos

Velocidade

Mais rápido

Mais lento (~30-40% mais processamento)

Resistência a Colisões

Fraca (2^63 operações)

Forte (2^128 operações)

Status na Indústria

Descontinuado pelo NIST, browsers e CAs

Padrão atual, amplamente exigido

Uso em TLS/SSL

Não mais aceito

Padrão

Git

Padrão (legado)

Opcional (modo SHA-256)

O que é SHA-1?

SHA-1 (Secure Hash Algorithm 1) é uma função de hash criptográfico que produz um valor de hash de 160 bits (20 bytes), normalmente representado como uma string hexadecimal de 40 caracteres. Projetado pela NSA e publicado pelo NIST em 1995, o SHA-1 foi o algoritmo de hash padrão por mais de uma década.

Exemplo de hash SHA-1:

Input:  "Hello World"
SHA-1:  0a4d55a8d778e5022fab701977c5d840bbc486d0

O SHA-1 era amplamente usado para:

  • Certificados SSL/TLS

  • Assinaturas digitais

  • Controle de versão Git (hash de commits e objetos)

  • Verificação de integridade de arquivos

  • Autenticação baseada em HMAC

Porém, o SHA-1 é considerado criptograficamente quebrado. Em 2017, o Google e o CWI Amsterdam demonstraram o primeiro ataque prático de colisão SHA-1 (SHAttered), produzindo dois arquivos PDF diferentes com o mesmo hash SHA-1. O ataque custou aproximadamente US$ 110.000 em recursos de computação em nuvem, acessível para atacantes bem financiados.

Você pode gerar hashes SHA-1 para testes e compatibilidade com sistemas legados usando o Gerador de Hash SHA-1 gratuito do Qodex.

O que é SHA-256?

SHA-256 (Secure Hash Algorithm 256) é uma função de hash criptográfico da família SHA-2 que produz um valor de hash de 256 bits (32 bytes), representado como uma string hexadecimal de 64 caracteres. Publicado pelo NIST em 2001, o SHA-256 é atualmente a função de hash mais utilizada em aplicações de segurança.

Exemplo de hash SHA-256:

Input:  "Hello World"
SHA-256: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

O SHA-256 é usado para:

  • Certificados TLS/SSL, o padrão desde 2017, quando as CAs pararam de emitir certificados SHA-1

  • Assinaturas digitais, assinatura de código, assinatura de documentos, S/MIME

  • Blockchain, o Bitcoin e muitas criptomoedas usam SHA-256 para prova de trabalho e hash de transações

  • Armazenamento de senhas, como parte das funções de derivação de chave PBKDF2, bcrypt ou scrypt

  • Integridade de arquivos, verificação de downloads e checksums de pacotes

  • Segurança de API, HMAC-SHA256 para autenticação de API e assinaturas de webhook

Não foram demonstrados ataques práticos contra o SHA-256. A resistência teórica a colisões de 2^128 operações torna os ataques de força bruta inviáveis com a tecnologia atual e previsível.

Gere hashes SHA-256 instantaneamente com o Gerador de Hash SHA-256 gratuito do Qodex.

Principais Diferenças Entre SHA-1 e SHA-256

1. Força de Segurança

Esta é a diferença mais crítica. A resistência a colisões do SHA-1 foi praticamente quebrada: invasores conseguem criar duas entradas diferentes que produzem o mesmo hash. O SHA-256 não tem vulnerabilidades práticas conhecidas. Para qualquer aplicação sensível à segurança, o SHA-256 é a escolha mínima aceitável.

2. Tamanho de Saída

O SHA-1 produz um hash de 160 bits (40 caracteres hex), enquanto o SHA-256 produz um hash de 256 bits (64 caracteres hex). A saída maior oferece exponencialmente mais valores de hash possíveis, tornando as colisões astronomicamente improváveis.

3. Velocidade de Computação

O SHA-1 é aproximadamente 30-40% mais rápido que o SHA-256 porque processa blocos menores e realiza menos rodadas de computação. Porém, essa vantagem de velocidade também é uma desvantagem de segurança: hashing mais rápido significa ataques de força bruta mais rápidos. Para hash de senhas, mais lento é de fato melhor.

4. Arquitetura do Algoritmo

O SHA-1 usa 80 rodadas de operações em blocos de 512 bits. O SHA-256 usa 64 rodadas, mas com operações mais complexas em blocos de 512 bits, produzindo uma saída significativamente mais segura através de melhores propriedades de difusão e confusão.

5. Adoção na Indústria

O SHA-1 foi descontinuado em toda a indústria:

  • Browsers rejeitam certificados assinados com SHA-1 (desde 2017)

  • Autoridades Certificadoras pararam de emitir certificados SHA-1

  • O NIST descontinuou o SHA-1 para assinaturas digitais

  • O PCI DSS exige SHA-256 ou superior

O SHA-256 é exigido por praticamente todos os padrões modernos de segurança e frameworks de conformidade.

Comparação de Desempenho

Métrica

SHA-1

SHA-256

Velocidade de Hash (software)

~1000 MB/s

~650 MB/s

Velocidade Relativa

~30-40% mais rápido

Base de comparação

Aceleração por Hardware

SHA-NI (Intel/AMD)

SHA-NI (Intel/AMD), ARM SHA2

Tamanho da Saída de Hash

20 bytes

32 bytes

Overhead de Armazenamento

Menor

60% mais armazenamento por hash

Com aceleração de hardware moderna (extensões Intel SHA-NI), a diferença de desempenho diminui significativamente. A maioria dos processadores modernos inclui instruções dedicadas para SHA-256, aproximando seu throughput da velocidade do SHA-1.

Para a maioria das aplicações, a diferença de desempenho entre SHA-1 e SHA-256 é insignificante comparada à latência de rede, E/S de disco e outros gargalos. Não sacrifique segurança por uma melhoria de velocidade pequena.

Quando Usar SHA-1 (Somente Legado)

O SHA-1 não deve ser usado em nenhuma nova aplicação de segurança. Os únicos usos aceitáveis são:

  • Compatibilidade com Git, o Git usa SHA-1 por padrão para hash de objetos (embora o Git 2.29+ suporte o modo SHA-256)

  • Checksums sem fins de segurança, quando você só precisa detectar corrupção acidental, não adulteração adversarial (embora o SHA-256 ainda seja preferido)

  • Compatibilidade com sistemas legados, ao interagir com sistemas que suportam apenas SHA-1 (com um plano de migração)

  • HMAC-SHA1, a construção HMAC ainda é considerada segura mesmo com SHA-1, porque o modelo de ataque é diferente (embora HMAC-SHA256 seja preferido)

Se você está mantendo sistemas legados que usam SHA-1, priorize a migração para SHA-256 como parte do seu roadmap de segurança.

Quando Usar SHA-256

O SHA-256 deve ser sua escolha padrão para praticamente todas as necessidades de hash:

  • Certificados TLS/SSL, exigido por todas as autoridades certificadoras e browsers

  • Assinaturas digitais, assinatura de código, assinatura de documentos, S/MIME

  • Autenticação de API, HMAC-SHA256 para segurança de API, verificação de webhook e assinatura de JWT

  • Integridade de arquivos, verificação de downloads, imagens de container e checksums de pacotes

  • Hash de senhas, como entrada para funções de derivação de chave como PBKDF2 ou Argon2

  • Blockchain e protocolos criptográficos, Bitcoin, Ethereum (para árvores Merkle) e muitas aplicações criptográficas

  • Conformidade, PCI DSS, HIPAA, SOC 2 e outros frameworks exigem SHA-256 ou superior

Para aplicações que precisam de hash ainda mais forte, considere o SHA-512, que oferece saída de 512 bits e pode ser mais rápido que o SHA-256 em processadores de 64 bits.

Relacionado: SHA-256 vs SHA-512: Principais Diferenças, Desempenho e Quando Usar...

SHA-1, SHA-256 e Segurança de API

As funções de hash desempenham um papel fundamental na segurança de API:

  • Assinaturas de webhook, serviços como GitHub e Stripe usam HMAC-SHA256 para assinar payloads de webhook, permitindo que os receptores verifiquem a autenticidade

  • Hash de chaves de API, as chaves de API devem ser armazenadas como hashes SHA-256, nunca em texto puro

  • Integridade de requisições, o hash do corpo das requisições garante que não foram adulteradas em trânsito

  • Geração de tokens, tokens JWT comumente usam assinaturas HMAC-SHA256 (HS256) ou RSA-SHA256 (RS256)

Se você está construindo ou testando APIs, sempre use SHA-256 ou superior para qualquer operação criptográfica. O Qodex.ai testa automaticamente as vulnerabilidades OWASP Top 10 de segurança de API, incluindo implementações criptográficas fracas.


Perguntas Frequentes

O SHA-1 ainda é seguro para uso?

Não, o SHA-1 não é seguro para aplicações de segurança. Ataques de colisão foram demonstrados na prática (ataque SHAttered do Google em 2017), e o custo dos ataques continua caindo. O SHA-1 foi descontinuado pelo NIST, por todos os principais browsers, autoridades certificadoras e frameworks de conformidade. Use SHA-256 ou superior para todas as aplicações sensíveis à segurança.

Por que o Git ainda usa SHA-1?

O Git adotou o SHA-1 em 2005, quando ainda era considerado seguro. Migrar o algoritmo de hash central de um sistema de controle de versão é uma tarefa enorme que afeta todos os repositórios. O Git 2.29 (lançado em 2020) adicionou suporte experimental a SHA-256, e a migração está em andamento. Para o caso de uso do Git (detecção de corrupção acidental), colisões SHA-1 são extremamente improváveis na prática, embora ataques direcionados sejam possíveis.

O SHA-256 é mais lento que o SHA-1?

Sim, o SHA-256 é aproximadamente 30-40% mais lento que o SHA-1 em implementações puramente em software. Porém, CPUs modernas com aceleração de hardware SHA-NI (Intel/AMD) ou SHA2 (ARM) reduzem significativamente essa diferença. Para a maioria das aplicações, a diferença de desempenho é insignificante comparada a outros gargalos como E/S de rede.

O que é uma colisão SHA-256?

Uma colisão ocorre quando duas entradas diferentes produzem a mesma saída de hash. Para o SHA-256, encontrar uma colisão exigiria aproximadamente 2^128 operações, um número tão grande que é considerado computacionalmente inviável com qualquer tecnologia atual ou previsível. Nenhuma colisão SHA-256 foi encontrada até hoje.

Devo usar SHA-256 ou SHA-512?

Ambos são seguros. O SHA-256 é mais amplamente usado e tem suporte mais amplo. O SHA-512 produz uma saída maior (512 bits) e pode ser mais rápido que o SHA-256 em processadores de 64 bits porque suas operações internas usam palavras de 64 bits. Escolha SHA-512 quando precisar de uma margem de segurança extra ou quando estiver rodando em hardware de 64 bits. Para a maioria das aplicações, o SHA-256 é suficiente.

É possível reverter um hash SHA-256?

Não. O SHA-256 é uma função de sentido único: você não consegue revertê-lo matematicamente para encontrar a entrada original. A única forma de "quebrar" um hash é por força bruta (tentando todas as entradas possíveis) ou usando rainbow tables pré-computadas. Por isso o SHA-256 é usado para hash de senhas (combinado com salting) e assinaturas digitais.