# O que é realmente o SHA-256

> Cuadernos Lacre · Conceito · 19 de maio de 2026
> https://solo2.net/pt/cadernos/articulos/o-que-o-sha-256-realmente-e.html

Uma impressão digital matemática que cabe em sessenta e quatro caracteres e que muda completamente se uma única vírgula do texto original for movida. Por que lhe chamamos selo de lacre digital.

---

## A ideia simples por trás do nome técnico

Imagine que existe uma máquina com uma única ranhura e um único ecrã. Pela ranhura introduz um texto: uma palavra, uma frase, um romance inteiro. No ecrã aparece, instantes depois, uma sequência de exatamente sessenta e quatro caracteres. A essa sequência, para o leitor profissional, chamamos *hash* ou *resumo criptográfico*; para o leitor geral, podemos chamá-la por agora uma impressão digital matemática do texto, tal como a impressão digital o é de uma pessoa.

Se introduzir o mesmo texto duas vezes, a máquina mostra a mesma impressão digital as duas vezes. Se introduzir um texto ligeiramente diferente — uma única vírgula movida, uma maiúscula que passa a minúscula — a máquina mostra uma impressão digital completamente diferente da primeira. Não parecida: diferente. Essas duas propriedades juntas — o determinismo e a sensibilidade — são a ideia simples. Todo o resto do SHA-256 é a maquinaria que as faz cumprir bem.

Convém dizer desde o início o que a máquina não faz. Não cifra o texto. Não o oculta. Não o guarda. A máquina olha para o texto, calcula a impressão digital, e esquece o texto. A impressão digital não permite reconstruir o texto que a produziu; apenas permite, dado um texto candidato, verificar se coincide ou não com o original. Por isso dizemos que é um resumo *de uma única direção*: vai-se, não se volta.

## Um hash não é o mesmo que cifrar

A confusão é frequente e convém dissipá-la: cifrar e hashear são operações diferentes. Cifrar consiste em transformar um texto de forma que apenas o detentor da chave possa devolvê-lo à sua forma original. Hashear consiste em produzir uma impressão digital do texto da qual o texto original não se pode recuperar nunca, nem com chave nem sem ela. A primeira é reversível por design; a segunda, irreversível por design.

A consequência prática importa. Quando uma aplicação diz «guardamos a tua palavra-passe cifrada», há alguém que tem a chave para a decifrar — a própria aplicação, em qualquer caso. Quando uma aplicação diz «guardamos a tua palavra-passe hasheada», a própria aplicação não pode ler a palavra-passe original mesmo que quisesse; apenas pode verificar se a que tu escreves volta a produzir a mesma impressão digital. O segundo modelo, bem feito, é muito preferível ao primeiro para armazenar palavras-passe. Mais adiante veremos por que «bem feito» exige algo mais que SHA-256 simples.

## As quatro propriedades que tornam um hash criptográfico útil

Uma função hash que mereça o adjetivo *criptográfico* cumpre quatro propriedades:

1. Determinismo. A mesma entrada produz sempre a mesma impressão digital.
2. Efeito avalanche. Uma pequena mudança na entrada produz uma impressão digital completamente diferente, sem semelhança visível com a anterior.
3. Resistência à inversão. Dada uma impressão digital, não é viável computacionalmente encontrar o texto que a produziu.
4. Resistência a colisões. Não é viável computacionalmente encontrar dois textos diferentes que produzam a mesma impressão digital.

«Não é viável computacionalmente» não significa «é matematicamente impossível». Significa que o custo em tempo, energia e dinheiro de o conseguir excede em ordens de magnitude a soma de toda a capacidade de computação razoavelmente disponível. Para o SHA-256, essa cota mede-se em milhares de biliões de anos mesmo para as abordagens mais otimistas com hardware especializado. O que, para efeitos práticos do leitor, é o mesmo que «não se pode».

## SHA-256, em concreto

O nome diz tudo. SHA são as siglas de *Secure Hash Algorithm*: algoritmo de hash seguro. O número 256 indica o tamanho da impressão digital em bits: duzentos e cinquenta e seis bits, ou seja trinta e dois bytes, que mostrados em hexadecimal são os sessenta e quatro caracteres que o leitor já reconhece. O padrão foi publicado pelo NIST norte-americano, o organismo que normaliza este tipo de funções, em 2001 como parte da família SHA-2; a versão vigente do padrão, FIPS 180-4, é de 2015.

As dimensões merecem um instante. Duzentos e cinquenta e seis bits permitem dois elevado a duzentos e cinquenta e seis valores diferentes: um número com setenta e oito dígitos decimais, várias ordens de magnitude maior que o número estimado de átomos no universo observável. Cada texto do mundo — cada livro, cada e-mail, cada mensagem — cai sobre um desses valores. A probabilidade de dois textos diferentes coincidirem por azar é, para efeitos práticos, indistinguível de zero.

## Como se vê em código

## Por que lhe chamamos selo de lacre

Na correspondência europeia dos séculos quinze ao dezanove, o lacre fechava a carta. Uma gota de cera derretida, um selo pressionado em cima, e a carta ficava marcada de forma irrepetível. Não protegia o conteúdo do curioso determinado — o papel podia ser lido contra a luz, o lacre podia ser quebrado — mas evidenciava-o. Qualquer alteração do fecho era visível para o destinatário antes mesmo de abrir o papel. O lacre não impedia o dano; declarava-o.

O SHA-256 do corpo de cada Cuaderno cumpre a mesma função na sua versão digital. Se uma única palavra do artigo mudasse entre o momento em que foi publicado e o momento em que tu o lês, o selo hexadecimal no rodapé do texto já não coincidiria com o SHA-256 do texto que tens à frente. Qualquer leitor com cinco linhas de código poderia verificá-lo. A publicação não pode reescrever a sua história sem que o selo a denuncie. Não protege contra o dano; torna-o verificável.

## O que um hash não é

Quatro usos são pedidos às vezes ao SHA-256 que não lhe correspondem:

1. Cifrar. Um hash resume; não oculta. Se queres que o texto não se possa ler, precisas de o cifrar, não de o hashear.
2. Autenticar o autor. Um hash não diz quem escreveu o texto, apenas qual texto foi hasheado. Para associar autoria faz falta uma assinatura criptográfica sobre o hash, não o hash simples.
3. Armazenar palavras-passe. Aqui há uma armadilha que convém entender. O SHA-256 está desenhado para ser muito rápido — o que é bom para muitas coisas, mas mau para esta. Um atacante com hardware especializado pode testar milhares de milhões de palavras-passe por segundo contra um hash SHA-256 até dar com a tua. Para guardar palavras-passe devem usar-se funções de derivação de chave deliberadamente lentas como Argon2, scrypt ou bcrypt, combinadas com uma *sal* (um dado aleatório único por utilizador, que evita que duas pessoas com a mesma palavra-passe tenham o mesmo hash).
4. Ler o hash como identificador do autor. Não o é. Um hash identifica o conteúdo. Se duas pessoas hasheiam a palavra *olá* com SHA-256, as duas obtêm o mesmo resumo — e isso é a propriedade central, não um defeito: se fossem resumos diferentes, não poderíamos verificar a coincidência entre o publicado e o recebido.

## Onde aparece o SHA-256 no seu dia a dia

Embora não o veja, o SHA-256 sustenta boa parte do que usa diariamente na internet. A cadeia de blocos da Bitcoin constrói-se encadeando o SHA-256 de cada bloco ao seguinte; alterar um bloco passado obriga a recalcular toda a cadeia posterior. O Git, o sistema com que se versiona o código de meio mundo, identifica cada confirmação pelo SHA-256 (em versões recentes) ou pelo seu predecessor SHA-1 (em versões mais antigas) do seu conteúdo completo. Os certificados HTTPS que verificam a identidade de um sítio web quando entra levam uma impressão digital SHA-256 associada. Os downloads de software são acompanhados frequentemente de um SHA-256 publicado pelo programador para que verifiques que o ficheiro não foi alterado pelo caminho. E, como dissemos, no rodapé de cada Cuadernos Lacre.

## Para o leitor profissional

Quatro lembretes operativos para quem decide ou audita sistemas:

1. Hash não é cifragem. Se um fornecedor confunde os dois termos na sua documentação técnica, convém perguntar o que quer dizer exatamente.
2. Para armazenar palavras-passe nunca se deve usar o SHA-256 simples. O SHA-256 é demasiado rápido para esta tarefa (ver ponto 3 de *O que um hash não é*). O padrão atual é o Argon2id: lento por design, configurável segundo a capacidade do servidor, combinado com uma *sal* aleatória diferente por utilizador.
3. Para a integridade de documentos — contratos, expedientes, ficheiros — o SHA-256 continua a ser o padrão de referência. É o que usam os seladores temporais qualificados na UE.
4. Para conservação a longo prazo (décadas) convém calcular e arquivar também um SHA-3 ou um SHA-512 junto ao SHA-256; a prudência criptográfica recomenda não se apoiar numa única função durante arquivos centenários.

Imagina que montaste o circuito de dominó mais elaborado do mundo: milhares de peças, dezenas de bifurcações, pontes mecânicas e rampas que cruzam todo o quarto, cuidadosamente colocadas peça por peça.

Se deres um toque na primeira peça, a cadeia cai numa sequência precisa e repetível. Mesma montagem, mesmo toque inicial → idêntico padrão final de peças caídas, uma e outra vez.

Aqui está o interessante: move uma única peça meio centímetro para o lado antes de começar e volta a tocar. Uma rampa que deveria ativar-se fica inerte, uma ponte não cai, uma bifurcação diferente dispara. O padrão final de peças no chão é completamente irreconhecível comparado com o primeiro.

SHA-256 é matematicamente este circuito. O texto que escreves é a posição inicial das peças. O algoritmo é o toque que liberta a cascata. E o resultado final — o que chamamos *hash* — é a foto fixa do chão quando tudo parou. Muda uma única vírgula do texto original e a foto será radicalmente diferente. Tão simples quanto isso, e tão drástico.

---

*Se voltares ao rodapé deste artigo, verás um selo hexadecimal de sessenta e quatro caracteres. É o SHA-256 do texto que acabaste de ler, neste idioma. Se traduzíssemos o artigo, o selo seria outro; se mudasse uma palavra da versão espanhola, o selo espanhol mudaria. O selo não protege o conteúdo — para isso existem outras ferramentas — mas identifica-o univocamente. E isso, por modesto que soe, basta para que nenhum passo da cadeia editorial possa alterar o que foi dito sem que se note. O resto — cifrar, assinar, identificar — constrói-se sobre esta ideia simples.*

## Fontes e leitura adicional

- NIST — *FIPS PUB 180-4: Secure Hash Standard (SHS)*, agosto de 2015. Especificação oficial da família SHA-2, incluindo SHA-256.
- RFC 6234 — *US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)*, IETF, maio de 2011. Versão normativa para implementadores.
- Ferguson, N.; Schneier, B.; Kohno, T. — *Cryptography Engineering: Design Principles and Practical Applications* (Wiley, 2010). Capítulos 5 e 6 cobrem funções hash e os seus usos legítimos e ilegítimos.
- Nakamoto, S. — Bitcoin: A Peer-to-Peer Electronic Cash System (2008). Exemplo prático do uso de SHA-256 para encadear blocos numa estrutura imutável por construção.
- Regulamento (UE) 910/2014 (eIDAS) — quadro dos seladores temporais qualificados. O SHA-256 é a função de referência para as assinaturas e selos eletrónicos qualificados emitidos na UE.
- Implementação de referência em Zig: std.crypto.hash.sha2.Sha256 no repositório oficial da linguagem (*github.com/ziglang/zig* → lib/std/crypto/sha2.zig). É a versão optimizada e auditada que de facto o Solo2 usa. Útil para contrastar com a implementação didática do apêndice.

---

*Cuadernos Lacre · Uma publicação da Menzuri Gestión S.L. · escrita por R.Eugenio · editada pela equipa do Solo2.*
*https://solo2.net/pt/cadernos/*
