PureTools

Hashing SHA-256: Como Funciona e Quando Usar

PureTools Team· 8 min de leitura
Hashing SHA-256: Como Funciona e Quando Usar

SHA-256: O Hash Por Trás de Tudo

SHA-256 é o cavalo de batalha da criptografia moderna. Ele pega qualquer entrada — um único caractere ou um dump inteiro de banco de dados — e produz um hash fixo de 256 bits (32 bytes). Bitcoin usa. Git usa. Certificados TLS usam. Se você trabalha com software, está usando SHA-256 sabendo ou não.

O Que Faz Uma Boa Função Hash

Uma função hash criptográfica tem quatro propriedades:

  • Determinística: A mesma entrada sempre produz a mesma saída.
  • Tamanho fixo: A saída é sempre 256 bits (64 caracteres hexadecimais), independente do tamanho da entrada.
  • Irreversível: Você não consegue recuperar a entrada original a partir do hash.
  • Resistente a colisões: É computacionalmente inviável encontrar duas entradas diferentes com o mesmo hash.

SHA-256 em Ação

# Terminal
echo -n "hello" | sha256sum
# 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

echo -n "hello!" | sha256sum
# ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b

Perceba: mudar um caractere muda completamente o hash. Isso é chamado de efeito avalanche — uma mudança minúscula na entrada produz uma saída dramaticamente diferente.

Usos Comuns

Caso de UsoComo SHA-256 Ajuda
Integridade de arquivosBaixe um arquivo, faça o hash, compare com o hash publicado. Se batem, o arquivo não foi adulterado.
Commits do GitTodo commit é identificado por um hash SHA do seu conteúdo, pai, autor e timestamp.
Assinaturas digitaisVocê faz o hash do documento primeiro, depois assina o hash (muito mais rápido que assinar o documento inteiro).
Mineração de BitcoinMineradores computam SHA-256(SHA-256(block_header)) buscando um hash abaixo de um limite alvo.
HMACCombine SHA-256 com uma chave secreta para criar um código de autenticação de mensagem.
Certificate pinningFixe o hash SHA-256 da chave pública do servidor para prevenir ataques MITM.

SHA-256 vs Outros Hashes

AlgoritmoTamanho da SaídaStatusCaso de Uso
MD5128 bitsQuebrado (colisões encontradas)Apenas checksums, nunca para segurança
SHA-1160 bitsDepreciado (colisões demonstradas)Apenas sistemas legados
SHA-256256 bitsSeguroHashing criptográfico de uso geral
SHA-512512 bitsSeguroQuando precisa de hash mais longo
SHA-3VariávelSeguroAlternativa à família SHA-2

Implementação

// JavaScript (browser ou Node.js)
async function sha256(message) {
  const encoder = new TextEncoder();
  const data = encoder.encode(message);
  const buffer = await crypto.subtle.digest('SHA-256', data);
  return Array.from(new Uint8Array(buffer))
    .map(b => b.toString(16).padStart(2, '0'))
    .join('');
}

await sha256('hello');
// "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
# Python
import hashlib

hash = hashlib.sha256(b'hello').hexdigest()
print(hash)
# 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
// Go
package main

import (
    "crypto/sha256"
    "fmt"
)

func main() {
    h := sha256.Sum256([]byte("hello"))
    fmt.Printf("%x\n", h)
}

SHA-256 NÃO É Para Senhas

Esse é o erro mais comum. SHA-256 é rápido — que é exatamente o que você não quer para hashing de senhas. Um atacante pode computar bilhões de hashes SHA-256 por segundo em uma GPU.

Para senhas, use:

  • bcrypt — fator de custo ajustável, amplamente suportado
  • scrypt — memory-hard, resiste a ataques com GPU
  • Argon2 — vencedor da Password Hashing Competition, estado da arte

SHA-256 é para integridade e identificação. Bcrypt/Argon2 são para senhas. Não misture.

Verificando Integridade de Arquivos

# Gerar hash de um arquivo
sha256sum ubuntu-24.04-desktop-amd64.iso
# a1b2c3d4... ubuntu-24.04-desktop-amd64.iso

# Verificar contra um arquivo de checksum
sha256sum -c SHA256SUMS
# ubuntu-24.04-desktop-amd64.iso: OK

Sempre verifique checksums ao baixar ISOs, binários ou qualquer coisa crítica de segurança. Leva 2 segundos e previne ataques de supply chain.

Faça o hash agora: Gerador SHA-256 — cole qualquer texto e obtenha o hash SHA-256 instantaneamente. Tudo roda no seu navegador.

Hashing SHA-256: Como Funciona e Quando Usar — PureTools — PureTools