TK TaskKit
Ferramentas para programadores

Gerador de hashes SHA-256

Calcula hashes SHA-256 de 256 bits para texto ou ficheiros no teu navegador. O padrão atual para integridade de ficheiros, fingerprints de certificados TLS, digests de imagens de contentor e a maioria dos usos criptográficos.

Entrada
Hashes
Cola texto para calcular MD5, SHA-1, SHA-256, SHA-384 e SHA-512.

As entradas ficam neste dispositivo. Cada ferramenta para programadores no TaskKit corre inteiramente no teu navegador. Tokens, payloads e texto colado não são transmitidos para servidores do TaskKit nem para terceiros.

O que esta ferramenta faz

Calcula o hash SHA-256 de qualquer texto ou ficheiro no teu navegador, devolvendo um digest hexadecimal de 64 caracteres. O SHA-256 é o cavalo de batalha do hashing criptográfico moderno: 256 bits de saída, parte da família SHA-2 (FIPS 180-4), desenhado pela NSA e publicado em 2001. Após mais de duas décadas de escrutínio público, não se conhece nenhum ataque prático de colisão sobre o SHA-256. É o defeito correto para quase qualquer código novo que precise de um hash criptográfico.

Onde o SHA-256 está em uso

  • Certificados TLS. Cada certificado HTTPS emitido hoje carrega uma assinatura SHA-256 (ou mais forte).
  • Digests de imagens de container. Docker, OCI e Kubernetes usam SHA-256 para identificar imagens de forma única. A notação @sha256:abc... em referências de imagem é exatamente isto.
  • Hashes de blocos e IDs de transações Bitcoin. A proof-of-work do Bitcoin é SHA-256 aplicado duas vezes; cada transação é identificada pelo seu digest SHA-256.
  • Subresource Integrity (SRI). <script integrity="sha256-..."> diz ao navegador para recusar o script se o hash não corresponder.
  • Verificação de releases de software. Quando um projeto publica um download juntamente com um checksum SHA-256, é o que se espera.
  • Próximo formato de objetos do git. O git 2.29+ suporta SHA-256 como alternativa ao SHA-1 para novos repositórios.
  • Assinaturas JWT (HS256, RS256, ES256). O "256" nesses nomes de algoritmos é SHA-256.

Quando escolher SHA-256 em vez de SHA-512

  • Compatibilidade. Quase todos os sistemas que aceitam um hash aceitam SHA-256. SHA-512 é bem suportado mas não universal.
  • Tamanho da saída. O SHA-256 cabe em 32 bytes, o SHA-512 em 64 bytes. Para aplicações sensíveis ao armazenamento (colunas de base de dados, parâmetros de URL, campos de certificado), o SHA-256 ocupa metade.

Escolhe SHA-512 quando estiveres a fazer hash de muitos gigabytes de dados numa máquina de 64 bits — o SHA-512 opera nativamente em palavras de 64 bits e pode ser marginalmente mais rápido apesar do digest maior.

Quando o SHA-256 não é a ferramenta certa

  • Armazenamento de palavras-passe. Mesmo aviso que para os outros hashes rápidos: usa bcrypt, scrypt ou Argon2. O SHA-256 é demasiado rápido — um GPU moderno calcula milhares de milhões por segundo.
  • Autenticação de mensagens. Usa HMAC-SHA-256, não SHA-256 só. HMAC(chave, mensagem) é a construção; o SHA-256 sozinho não recebe uma chave.
  • Derivação de chaves. Usa HKDF ou PBKDF2-SHA-256, não SHA-256 só. Fazer hash direto de uma palavra-passe para uma chave é inseguro.

Vetores de teste

Vetores de teste canónicos do SHA-256, do FIPS 180-4:

  • String vazia ""e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  • "abc"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
  • "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1
  • "The quick brown fox jumps over the lazy dog"d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

Notas

Porquê 64 caracteres? O SHA-256 produz 256 bits = 32 bytes = 64 caracteres hex.

Esta implementação é constant-time? Sim — usa o crypto.subtle.digest do WebCrypto do navegador, que a plataforma expõe como primitiva nativa de tempo constante. Não há early-exit baseado nos dados de entrada que possa vazar timing.

Limites de tamanho de ficheiro? O seletor de ficheiros faz hash até 256 MB localmente. Ficheiros maiores são tecnicamente possíveis mas lentos na thread principal; para esses, prefere sha256sum num terminal.

Porque é que o meu SHA-256 difere do sha256sum? Newline final. echo "hello" | sha256sum adiciona \n; colar "hello" aqui não. Usa echo -n ou o seletor de ficheiros para correspondência byte a byte.

Ferramentas relacionadas

  • Gerador de hashes — todos os cinco hashes lado a lado
  • SHA-512 — mesmo nível de segurança, digest mais longo, mais rápido em CPUs de 64 bits
  • SHA-1 — predecessor, descontinuado para segurança
  • Base64 — codifica um digest binário para transporte (por exemplo, atributos SRI)