Hash Generator

Hash SHA-256 de "Hello, World!": Gerador de Hash

O hash SHA-256 do texto Hello, World! é dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f. Verifique você mêsmo e aprenda como SHA-256 funciona.

100% no navegador. Seus dados nunca saem do seu computador.

Hashes
MD5
SHA-1
SHA-256
SHA-512

Ferramentas Relacionadas

Hash SHA-256 do Texto “Hello, World!”

O hash SHA-256 do texto Hello, World! é:

dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f

São 64 caracteres hexadecimais representando 256 bits. Você pode verificar issó em qualquer ambiente:

# Terminal (macOS/Linux)
echo -n "Hello, World!" | sha256sum

# Alternativa macOS
echo -n "Hello, World!" | shasum -a 256

# Python
import hashlib
hashlib.sha256(b"Hello, World!").hexdigest()

# Node.js
const crypto = require('crypto');
crypto.createHash('sha256').update('Hello, World!').digest('hex');

Todos devem retornar dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f. Se você obtiver um resultado diferente, verifique a quebra de linha final. echo sem -n adiciona uma quebra de linha, alterando a entrada é o hash.

O Que SHA-256 Realmente Faz

SHA-256 faz parte da família SHA-2, padronizada pelo NIST em 2001. Recebe uma entrada de tamanho arbitrário e produz uma saída fixa de 256 bits. O algoritmo funciona em vários estágios:

Pré-processamento

A entrada é preenchida para que seu comprimento seja congruente a 448 módulo 512 bits. Uma representação de 64 bits do comprimento da mensagem original é anexada. Issó garante que o comprimento total seja múltiplo de 512 bits.

Programa de mensagens

A entrada preenchida é dividida em blocos de 512 bits. Cada bloco é expandido em 64 palavras de 32 bits usando operações bit a bit (XOR, deslocamentos à direita, rotações).

Compressão

Uma função de compressão executa 64 rodadas sobre o estado atual do hash usando as 64 palavras mais 64 constantes de rodada derivadas das partes fracionárias das raízes cúbicas dos primeiros 64 números primos. O estado são oito variáveis de 32 bits (a a h) inicializadas a partir das raízes quadradas fracionárias dos primeiros 8 números primos.

Hash final

Após processar todos os blocos, as oito variáveis de estado são concatenadas para produzir a saída de 256 bits.

Quatro Propriedades Importantes

Determinístico

A mêsma entrada sempre produz o mêsmo hash. Hello, World! é sempre dffd6021.... Issó torna hashes úteis como identificadores estáveis.

Saída de tamanho fixo

Um único caractere é um arquivo de 10 GB ambos produzem um hash de 256 bits. Essa propriedade torna o hashing útil para comparar arquivos sem comparar seu conteúdo byte a byte.

Efeito avalanche

Alterar um único bit na entrada muda completamente a saída. Hello, World! e Hello, World? produzem hashes que compartilham quase nenhum bit. Issó significa que você não pode inferir nada sobre a entrada a partir de pequenas mudanças no hash.

Resistência a pré-imagem

Dado um hash, você não pode trabalhar de volta para encontrar a entrada. Este é o fundamento de como o hash de senhas (em alto nível) e assinaturas digitais funcionam.

Onde SHA-256 É Usado

Verificação de integridade de arquivos

Quando você baixa um software, o projeto geralmente pública um checksum SHA-256 junto com o binário. Você hasheia o arquivo baixado e compara. Se corresponderem, o arquivo não foi adulterado durante o trânsito.

sha256sum downloaded-file.tar.gz
# compare com o checksum publicado

Bitcoin

O algoritmo de proof of work do Bitcoin exige que mineradores encontrem um nonce tal que SHA-256(SHA-256(block_header)) produza um hash abaixo de um valor alvo. A construção SHA dupla 256 foi escolhida por Satoshi Nakamoto para se defender contra ataques de extensão de comprimento, que afetam SHA-256 simples.

Verificação de certificados TLS

Certificados X.509 são assinados com um hash de seu conteúdo. SHA-256 é o padrão para assinaturas de certificados; SHA-1 foi depreciado e removido de autoridades certificadoras confiáveis por volta de 2017.

Construção HMAC

HMAC-SHA-256 usa SHA-256 como o hash subjacente em um código de autenticação de mensagem. É usado na verificação de assinatura JWT (HS256), assinatura de requisições AWS e muitos esquemas de autenticação de API.

Armazenamento de objetos Git

Git armazena todo arquivo, árvore de diretório e commit como um objeto endereçado por conteúdo. O SHA do objeto (historicamente SHA-1, em transição para SHA-256) é computado a partir de seu conteúdo é usado tanto como chave de armazenamento quanto como verificação de integridade.

SHA-256 Não É Suficiente para Armazenamento de Senhas

SHA-256 é rápido, intencionalmente. Para integridade de arquivos e assinaturas digitais, velocidade é desejável. Para hash de senhas, é uma desvantagem. Um atacante com uma GPU pode calcular bilhões de hashes SHA-256 por segundo, tornando ataques de força bruta e dicionário contra um banco de dados de senhas hasheadas com SHA-256 práticos.

Use uma função de hash de senhas específica:

Essas funções incluem um salt aleatório por usuário (prevenindo ataques de rainbow table) e são projetadas para serem ajustadas para mais lentas conforme o hardware melhora.

Se você está armazenando senhas, não use SHA-256 diretamente, nem mêsmo com salt. Use bcrypt ou Argon2.

Comparando SHA-256 com SHA-1 e MD5

AlgoritmoTamanho da saídaStatus
MD5128 bits (32 hex chars)Quebrado. Ataques de colisão práticos existem
SHA-1160 bits (40 hex chars)Quebrado. Ataque SHAttered (2017) demonstrou colisão prática
SHA-256256 bits (64 hex chars)Seguro. Nenhuma fraqueza conhecida
SHA-3-256256 bits (64 hex chars)Seguro. Estrutura interna diferente (Keccak sponge)

MD5 e SHA-1 ainda são usados em contextos não relacionados à segurança (checksums para detecção de erros, identificadores de sistemas legados) onde a resistência a colisões não importa. Para qualquer contexto onde um atacante possa tentar produzir duas entradas com o mêsmo hash (fraude de certificados, substituição de arquivos, falsificação de assinaturas), apenas SHA-256 ou mais forte deve ser usado.