Criptografia Conceitos

Algoritmos de Hash (SHA-256): O que São e Onde São Aplicados

Tárick Sulyvam
Tárick Sulyvam
19 de jul. de 2026 10 min
Neste artigo

Um algoritmo de hash é a máquina matemática que cria a “impressão digital” de qualquer dado, de uma senha a um filme inteiro. Forjar dois arquivos com a mesma impressão custa caro: no SHA-1, a façanha exigiu 6.500 anos de processamento de CPU em 2017 (shattered.io, 2017). No MD5, mais antigo, o mesmo truque hoje leva menos de um segundo.

Essa diferença explica por que o SHA-256 está em todo lugar: no cadeado do navegador, na página de download do Linux, no aviso “não recuperamos sua senha”. Só que quase ninguém explica o que ele é sem desviar para uma aula de blockchain. Este guia mostra como a impressão digital dos dados funciona. Você vai ver o efeito avalanche com hashes reais e aprender a verificar seu primeiro download em um comando.

Resumo rápido: Um algoritmo de hash transforma qualquer dado em uma “impressão digital” de tamanho fixo: mudou uma letra, o hash muda inteiro. O SHA-256 tem 2²⁵⁶ combinações possíveis (um número com 78 dígitos) e nunca teve uma colisão encontrada. Já o MD5 é quebrado em menos de 1 segundo, e o SHA-1 será aposentado pelo NIST até 2030 (NIST, 2022). Aqui você vê como isso funciona, onde usa hash sem perceber e como conferir a integridade de um download.

O que é um algoritmo de hash?

Um algoritmo de hash é uma função matemática que transforma qualquer entrada, de uma letra a um filme inteiro, em um código de tamanho fixo: a impressão digital do dado. Essa função hash é determinística: sempre devolve o mesmo resultado para a mesma entrada. No SHA-256, o código tem 256 bits, o que dá cerca de 1,16 × 10⁷⁷ combinações possíveis.

A analogia da impressão digital é precisa. Ela identifica uma pessoa com segurança, mas ninguém reconstrói a pessoa a partir do dedo. O hash faz o mesmo com dados: identifica o arquivo sem revelar o conteúdo. Se os conceitos de cifrar e decifrar ainda são novidade, o pilar sobre o que é criptografia explica a base do zero.

Quatro propriedades definem um bom algoritmo de hash:

  • Determinístico: a mesma entrada gera o mesmo hash, hoje e daqui a dez anos, em qualquer computador;
  • Tamanho fixo: um “oi” e um vídeo de 2 GB viram códigos do mesmo comprimento: 64 caracteres no SHA-256;
  • Mão única: calcular o hash de um dado é rápido; reconstruir o dado a partir do hash é inviável;
  • Efeito avalanche: qualquer mudança na entrada, por mínima que seja, troca o hash por completo.

E o tamanho dessa “fechadura” importa. Os 256 bits do nome são 256 casas que valem 0 ou 1, e cada casa dobra o total de combinações. O resultado, 2²⁵⁶, é um número com 78 dígitos. A aula visual do canal 3Blue1Brown sobre segurança de 256 bits mostra a consequência. Nem toda a capacidade de computação do planeta, somada, chega perto de esgotar esse espaço (3Blue1Brown, 2017).

É essa escala que sustenta tudo o que vem a seguir. Guarde os dois números: 64 caracteres na saída, 78 dígitos de possibilidades.

Por que não dá para “descriptografar” um hash?

Não dá para descriptografar um hash porque hash não é criptografia: não existe chave nem operação inversa. A criptografia esconde um dado para alguém revelá-lo depois; o hash resume o dado de uma vez por todas. É como tentar recuperar as frutas inteiras a partir da vitamina batida: a informação original já não está lá.

A diferença fica clara na comparação com as cifras. Na criptografia simétrica e assimétrica, toda tranca tem chave e caminho de volta. No hash, o único “caminho de volta” é a adivinhação: testar entradas até alguma gerar o mesmo código. Com 2²⁵⁶ possibilidades, essa busca não termina nunca.

Existe ainda a colisão: duas entradas diferentes gerando o mesmo hash. Na teoria, colisões são inevitáveis, porque as entradas possíveis são infinitas e as saídas não. Na prática, encontrar uma no SHA-256 nunca aconteceu.

Melhor do que explicar é mostrar. Gerei os dois hashes abaixo no terminal, com o comando sha256sum, mudando apenas a caixa das letras do nome do site:

Repare no estrago: só o “C” e o outro “C” viraram minúsculos, e os dois códigos não compartilham nem o primeiro caractere. Esse é o efeito avalanche em ação. Ele impede qualquer dedução do tipo “hashes parecidos, entradas parecidas”: o código não vaza pista nenhuma sobre o dado.

💡 Regra de bolso

Criptografia esconde para depois revelar; hash resume para nunca mais voltar. Se dá para reverter, não é hash.

MD5, SHA-1 e SHA-256: qual a diferença?

MD5, SHA-1 e SHA-256 são gerações da mesma ideia. O MD5 (1991) e o SHA-1 (1995) já foram quebrados e não devem proteger mais nada. O SHA-256, da família SHA-2 (2001), segue sem colisão conhecida e é o padrão atual. O NIST determinou a aposentadoria do SHA-1 até 31/12/2030 (NIST, 2022).

A história cabe numa linha do tempo de ascensão e queda:

A queda do MD5 foi a mais dura. As colisões demonstradas por Wang e equipe em 2004 (Cryptology ePrint Archive, 2004) abriram a porteira. Em 2008, o CERT americano já o declarava “criptograficamente quebrado e inadequado para uso” (CERT VU#836068, 2008). Desde 2013, o ataque de Xie, Liu e Feng gera uma colisão em menos de um segundo num computador comum (Cryptology ePrint Archive, 2013). Não é risco teórico: o malware Flame usou uma colisão de MD5 para forjar um certificado da Microsoft em 2012 (Microsoft MSRC, 2012).

O SHA-1 resistiu mais, e o preço da quebra mostra a diferença de músculo. O ataque SHAttered, de Google e CWI, custou cerca de 9,2 quintilhões de computações. Foram 6.500 anos de processamento de CPU mais 110 anos de GPU (shattered.io, 2017). Caro, mas possível. E, em segurança, “possível” já é sentença.

AlgoritmoAnoSaídaCusto de uma colisãoStatus (NIST, 2022)
MD51991128 bitsmenos de 1 segundo num PC comumquebrado, não usar
SHA-11995160 bits~9,2 quintilhões de computações (2017)aposentar até 2030
SHA-2562001256 bitsnenhuma colisão conhecidarecomendado

SHA-256 no dia a dia: onde ele aparece

O SHA-256 é o hash criptográfico mais usado hoje. Ele está em praticamente toda conexão segura e verificação de integridade: você o aciona dezenas de vezes por dia sem ver. Valida os certificados por trás do cadeado HTTPS, confere downloads e atualizações de software, identifica versões no Git e encadeia os blocos de um blockchain. É também a impressão digital que identifica uma chave criptográfica: o código SHA256: que aparece ao criar um par SSH nada mais é que o hash da chave pública.

Dois cards merecem nota. O Git, que versiona quase todo software do planeta, nasceu identificando commits com SHA-1. Depois do SHAttered, o projeto definiu um formato novo baseado em SHA-256, disponível de forma experimental desde a versão 2.29 (Git, 2020). A transição segue em curso.

E o card do blockchain fica só na técnica mesmo: encadear blocos por hash é o que torna o histórico difícil de adulterar. O uso financeiro do termo é outro assunto, e não é o nosso.

Como verificar o hash de um download na prática?

Para verificar um download, gere o SHA-256 do arquivo baixado com um comando e compare o resultado com o código publicado no site oficial. Se os dois baterem, o arquivo chegou íntegro: sem corrupção e sem adulteração no caminho. O processo leva menos de um minuto e não exige instalar nada.

Passo 1: copie o hash publicado no site oficial

Projetos sérios publicam o SHA-256 ao lado do botão de download. As imagens de Linux (Ubuntu, Fedora, Mint) e o LibreOffice trazem um arquivo ou seção de “checksums”, o nome em inglês para esses códigos de verificação. Copie o hash referente ao arquivo exato que você baixou.

Passo 2: gere o hash do arquivo baixado

No Windows, abra o Prompt de Comando na pasta do download:

certutil -hashfile arquivo.iso SHA256

No Linux e no macOS, o terminal resolve com uma linha:

sha256sum arquivo.iso
# no macOS, se preferir: shasum -a 256 arquivo.iso

Quer testar agora, sem baixar nada? Gere o hash de um texto qualquer. Foi assim que produzi a demonstração do efeito avalanche:

echo -n "CriptoCifras" | sha256sum
# no macOS: echo -n "CriptoCifras" | shasum -a 256
3b83eda7db48f75e3ea7771d515dc6d44e2e3675ab8e3d3684c231907eccf637  -

Passo 3: compare os dois códigos

Confira os primeiros e os últimos oito caracteres dos dois hashes. Graças ao efeito avalanche, não existe “quase igual”: ou os 64 caracteres batem, ou o arquivo é outro. Se não bater, o download veio corrompido ou o arquivo foi trocado. Apague, baixe de novo direto da fonte oficial e compare outra vez. Persistindo a diferença, não instale: desconfie.

Por que SHA-256 puro não serve para guardar senhas?

Porque ele é rápido demais. A mesma velocidade que o torna ótimo para verificar arquivos vira arma na mão de um atacante. Uma única placa de vídeo RTX 4090 testa cerca de 22 bilhões de hashes SHA-256 por segundo. No bcrypt, algoritmo desenhado para ser lento, são apenas 184 mil (benchmark hashcat v6.2.6, 2022).

O cenário do ataque é sempre o mesmo. Um serviço é comprometido, o banco de hashes vaza, e o atacante testa bilhões de senhas candidatas offline, comparando os códigos. Quanto mais rápido o hash, mais palpites por segundo. O gráfico abaixo mostra o abismo, em escala logarítmica:

Tentativas de senha por segundo numa RTX 4090 Hastes horizontais em escala logarítmica de 10 elevado a 5 até 10 elevado a 12 tentativas por segundo. MD5: 164,1 bilhões. SHA-1: 50,6 bilhões. SHA-256: 22 bilhões. bcrypt: 184 mil, aproximadamente 120 mil vezes mais lento que o SHA-256. Fonte: benchmark hashcat v6.2.6 em uma RTX 4090. Tentativas de senha por segundo numa RTX 4090 escala logarítmica · bi = bilhões · cada divisão da grade multiplica por 10 10⁵ 10⁶ 10⁷ 10⁸ 10⁹ 10¹⁰ 10¹¹ 10¹² MD5 164,1 bi/s SHA-1 50,6 bi/s SHA-256 22,0 bi/s bcrypt 184 mil/s ≈120.000× mais lento que o SHA-256: é isso que protege sua senha posições em escala logarítmica; na escala linear, a haste do bcrypt seria invisível

Fonte: benchmark hashcat v6.2.6, RTX 4090 (Chick3nman) (2022)

A defesa tem dois ingredientes, e os dois são padrão da indústria. O primeiro é o sal (salt): um trecho aleatório único somado a cada senha antes do hash. Ele inutiliza as rainbow tables, os dicionários gigantes de hashes pré-calculados, porque cada senha exige um cálculo novo.

O segundo é a lentidão proposital. A recomendação da OWASP, referência mundial em segurança de aplicações, é clara: usar Argon2id em primeiro lugar, depois scrypt e bcrypt. Sempre com sal único por senha (OWASP, 2026). É também por isso que site sério nunca “recupera” sua senha, apenas redefine: ele guarda o hash, não o texto.

Do seu lado do balcão, a receita já é conhecida: senha única por serviço e uma segunda camada de verificação em duas etapas. E vale conferir se suas senhas já apareceram em vazamentos antes que alguém teste isso por você.

Perguntas frequentes

É possível reverter (descriptografar) um hash?

Não. O hash é uma função de mão única: não existe chave nem operação inversa. O máximo que um atacante consegue é a força bruta, ou seja, testar entradas aos bilhões e comparar os códigos gerados. Com 2²⁵⁶ combinações no SHA-256, esse espaço de busca é impossível de esgotar.

Qual a diferença entre hash e criptografia?

Criptografia é reversível: quem tem a chave certa recupera o dado original. O hash é um resumo irreversível de tamanho fixo, sem chave nenhuma. Os papéis também diferem: criptografia protege o sigilo do conteúdo; o hash comprova integridade e identidade dos dados. Um esconde, o outro identifica.

O SHA-256 já foi quebrado?

Não. Nenhuma colisão de SHA-256 foi encontrada até hoje, e as 2²⁵⁶ combinações tornam a força bruta inviável. O NIST o indica entre os substitutos oficiais do SHA-1, que sai de cena até 2030 (NIST, 2022). É o padrão atual para certificados, downloads e assinaturas.

Por que o MD5 não é mais seguro?

Porque gerar colisões de MD5 virou trivial: elas foram demonstradas em 2004 por Wang e equipe (Cryptology ePrint Archive, 2004) e hoje saem em menos de um segundo num computador comum. Ele ainda serve para detectar corrupção acidental de arquivos, nunca para qualquer uso de segurança.

Para que serve o hash publicado junto de um download?

Ele prova que o arquivo chegou exatamente como o site o publicou. Você gera o SHA-256 do arquivo baixado com certutil -hashfile (Windows) ou sha256sum (Linux e macOS) e compara com o código publicado. Se os dois baterem, o download não veio corrompido nem adulterado.

O essencial sobre algoritmos de hash em 3 pontos

Se você levar só três ideias deste guia sobre algoritmos de hash, que sejam estas:

  • Hash é impressão digital, não cofre. Não existe “descriptografar”: a função só anda para frente, e o efeito avalanche troca os 64 caracteres a cada mudança mínima na entrada;
  • A família importa. MD5 e SHA-1 são passado: quebrados, com prazo de migração dado pelo NIST até 2030 (NIST, 2022). O SHA-256 é o presente, sem colisão conhecida;
  • Rápido é ótimo para arquivos e péssimo para senhas. Para verificar downloads, a velocidade ajuda você; para guardar senhas, ajuda o atacante. O certo é algoritmo lento com sal, cerca de 120.000 vezes mais custoso de atacar.

A trilha de Criptografia segue daqui. Se você chegou agora, o pilar sobre o que é criptografia monta o alicerce em português claro. E o guia de senhas vazadas mostra o hash trabalhando do outro lado do balcão, inclusive na consulta segura do Have I Been Pwned. Teste o sha256sum hoje: um comando agora vale mais que qualquer instalador suspeito depois.

Tags: #criptografia #hash #sha-256 #segurança
Compartilhar artigo

Comentários 0

Carregando comentários...