Como usar
- Digite ou cole um texto, mude a entrada para Hex para informar bytes ou abra o arquivo que você quer verificar.
- Mantenha o SHA-256 selecionado e escolha a saída hex (minúsculas), HEX (maiúsculas) ou Base64.
- Cole a soma de verificação da página de download no campo Comparar com. Confere significa que o arquivo é idêntico.
- Copie o resultado ou copie o SHA-384, o SHA-512 ou outro resumo da tabela Todos os algoritmos.
O que é SHA-256?
O SHA-256 é o membro mais usado da família SHA-2, projetado pela NSA e padronizado pelo NIST em 2002 na FIPS 180-2. Hoje ele é especificado na FIPS 180-4, e a RFC 6234 traz os mesmos algoritmos com código de referência. O SHA-256 processa blocos de 512 bits em 64 rodadas de aritmética de 32 bits e gera um resumo de 256 bits: 64 caracteres hex ou 44 caracteres Base64. Não se conhece nenhum ataque prático de colisão ou de pré-imagem, e ele é a escolha padrão para:
- certificados e handshakes TLS, e assinatura de código;
- o Bitcoin, que aplica o SHA-256 duas vezes nos hashes de bloco, na prova de trabalho e nos IDs de transação (a soma de verificação dos endereços Base58Check vem do mesmo hash duplo);
- arquivos de soma de verificação como
SHA256SUMS, resumos de imagens de contêiner (sha256:...) e Subresource Integrity.
Como verificar um download
Abra o arquivo baixado e cole a soma de verificação divulgada pelo fornecedor no campo Comparar com. Maiúsculas e minúsculas não fazem diferença, e um valor em Base64 também funciona. Confere significa que o arquivo é, byte a byte, aquele a partir do qual a soma de verificação foi gerada. Isso não prova quem o criou, então obtenha a soma de verificação no site HTTPS do fornecedor ou em um arquivo SHA256SUMS assinado, e não no espelho de onde você baixou o arquivo.
No caso de texto, o hash é calculado sobre bytes, não sobre caracteres. Finais de linha do Windows (CRLF), uma marca de ordem de bytes (BOM) ou UTF-16 em vez de UTF-8 geram, cada um, um SHA-256 completamente diferente. Use a lista Codificação de texto ou a entrada em hex para calcular o hash exatamente dos bytes que o outro sistema usou.
Extensão de comprimento e senhas
Assim como o MD5, o SHA-1 e o SHA-512, o SHA-256 é vulnerável à extensão de comprimento: conhecendo SHA-256(secret + message) e o comprimento do segredo, um atacante consegue calcular um hash válido para essa mensagem seguida de preenchimento e de dados escolhidos por ele, sem conhecer o segredo. Para assinar ou autenticar dados com uma chave, use o HMAC-SHA256 do Gerador de HMAC em vez de calcular o hash da chave e da mensagem juntas.
A velocidade também é o motivo pelo qual um SHA-256 simples é a forma errada de armazenar senhas: quem obtiver os hashes pode testar palpites tão rápido quanto suas placas de vídeo calculam SHA-256, e senhas idênticas produzem hashes idênticos. Use Argon2id, scrypt, bcrypt ou PBKDF2-HMAC-SHA256 com um número alto de iterações; todos eles adicionam um salt.
SHA-256 na linha de comando e no código
$ printf 'abc' | sha256sum
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad -
sha256sum -c SHA256SUMS # Linux: verifica uma lista de arquivos
shasum -a 256 file.iso # macOS
certutil -hashfile file.iso SHA256 # Windows
Get-FileHash file.iso # PowerShell (SHA256 é o padrão)
# Python
hashlib.sha256(data).hexdigest()
// Node.js
crypto.createHash('sha256').update(data).digest('hex')
O valor de abc é o vetor de teste da norma; digite abc acima para ver o mesmo resultado. A tabela Todos os algoritmos também lista os valores SHA-384, SHA-512, SHA-1, MD5 e CRC da sua entrada.
Exemplos
| Entrada (UTF-8) | SHA-256 |
|---|---|
Hello, World! | dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f |
Base64.is | 63f2f446bc11a1f96175c0f77bdac08ca1b184ba42c3a42c34ddcbce00b1b800 |
你好 | 670d9743542cae3ea7ebe36af56bd53648b0a1126162e78d81a32934a711302e |
Perguntas frequentes
O SHA-256 pode ser descriptografado?
Não. O SHA-256 é um hash unidirecional, não uma criptografia. Os "descriptografadores" online só procuram hashes em tabelas de entradas conhecidas, então encontram senhas comuns e strings curtas, mas nada longo ou aleatório.
Por que meu SHA-256 não confere com a soma de verificação publicada?
Na maioria das vezes, o download está incompleto ou é de outra versão, ou você calculou o hash do nome do arquivo em vez do próprio arquivo. Carregue o arquivo em si com Abrir arquivo. Confira também se os dois valores usam o mesmo algoritmo: um valor hex de 128 caracteres vem de um hash de 512 bits, como o SHA-512, e não do SHA-256.
Como obter um hash SHA-256 em Base64?
sha256-, embora sha384- seja mais comum) e o cabeçalho HTTP Content-Digest usam essa forma. Hex e Base64 carregam os mesmos 32 bytes; converta de um para o outro com Base64 para Hex.SHA-256 é o mesmo que SHA-2?
SHA-2 é uma família: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 e SHA-512/256. O SHA-256 é o membro mais comum. O SHA-3 (FIPS 202) é um projeto à parte, baseado no Keccak, e gera resultados diferentes.
Qual é o tamanho de um hash SHA-256?
=. O SHA3-256 e o BLAKE2s têm o mesmo tamanho; o Identificador de hash lista esses candidatos para um hash desconhecido.