Gerador de hash SHA-256 duplo (SHA-256d)

Calcule o SHA-256 duplo (SHA-256d), o hash do Bitcoin: SHA-256 do resumo SHA-256 binário. Entrada hex, opção de inverter os bytes, roda no navegador.

SHA-256d

Executa totalmente no seu navegador. Seus dados nunca são enviados.

O que é SHA-256 duplo (SHA-256d)?

O SHA-256 duplo, também escrito SHA-256d, gera o hash da entrada com SHA-256 e depois aplica o SHA-256 de novo ao resumo binário de 32 bytes resultante. É o hash que o Bitcoin usa para cabeçalhos de bloco, IDs de transação, árvores de Merkle e checksums Base58Check. A ferramenta também pode mostrar o resultado com a ordem dos bytes invertida, do jeito que os exploradores de blocos exibem os hashes.

Como usar SHA-256 duplo (SHA-256d)

  1. Insira os dados em Texto para gerar o hash; para estruturas do Bitcoin, escolha Bytes em hexadecimal como codificação de entrada e cole o cabeçalho ou a transação serializada.
  2. Deixe a codificação em Texto (UTF-8) para gerar o hash de uma string comum.
  3. Marque Inverter a ordem dos bytes para obter o valor como exibido pelos exploradores de blocos e pelo Bitcoin Core (txid / hash do bloco).
  4. Escolha o Formato de saída e clique em Copiar.

Exemplo

Entrada
Bitcoin genesis block header (Hex bytes): 0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c, Reverse byte order on
Saída
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

Este é o famoso hash do bloco gênese. Sem a inversão dos bytes, a saída é 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000.

Quando usar SHA-256 duplo (SHA-256d)

Use-a para conferir manualmente o cabeçalho de um bloco ou o ID de uma transação do Bitcoin, para calcular checksums Base58Check (os primeiros 4 bytes do SHA-256d) ou para reproduzir valores SHA-256d de outros protocolos. Não a use para senhas, nem quando uma especificação pede SHA-256 simples — os resultados são diferentes. Gerar de novo o hash do texto hexadecimal de um resumo também não é SHA-256d.

Como funciona SHA-256 duplo (SHA-256d)

A ferramenta calcula SHA-256(SHA-256(dados)). O detalhe importante é que o segundo SHA-256 roda sobre os 32 bytes brutos do primeiro resumo, e não sobre sua string hexadecimal de 64 caracteres — muitas ferramentas online erram nisso. O Bitcoin trata o resultado de 32 bytes como um número little-endian, então o conhecido hash de bloco com zeros à esquerda é o resumo com os bytes invertidos; a opção Inverter a ordem dos bytes faz exatamente isso.

Casos de Uso Comuns

  • Verificar o hash de um bloco do Bitcoin a partir do seu cabeçalho de 80 bytes
  • Calcular o ID de uma transação (txid) a partir da transação serializada bruta
  • Calcular o checksum de 4 bytes de um endereço Base58Check ou de uma chave WIF
  • Fazer uma verificação cruzada de uma implementação de mineração ou de carteira durante o desenvolvimento

Nota de Segurança

O SHA-256d é tão resistente a colisões quanto o SHA-256. Ele não é um hash de senha — use Argon2, scrypt ou bcrypt para senhas. Todo o cálculo acontece localmente no seu navegador.

Perguntas Frequentes

Por que o Bitcoin gera o hash duas vezes?

Satoshi usou o SHA-256d, muito provavelmente como defesa contra ataques de extensão de comprimento em um único hash Merkle–Damgård. Isso não torna colisões mais difíceis de encontrar do que no próprio SHA-256, mas agora está fixado no protocolo.

Por que meu resultado não bate com o do explorador de blocos?

Três causas comuns: o cabeçalho foi inserido como texto em vez de Bytes em hexadecimal, o segundo hash foi calculado sobre a string hexadecimal em vez do resumo bruto, ou a ordem dos bytes não foi invertida. Marque Inverter a ordem dos bytes para obter hashes no estilo dos exploradores.

Qual é o SHA-256 duplo de "abc"?

Com entrada UTF-8 e ordem de bytes normal, é 4f8b42c22dd3729b519ba6f68d2da7cc5b2d606d05daed5ad5128cc03e6c6358.

Explore mais categorias