Função de Hash

Uma ferramenta que cria impressões digitais para dados

Uma função de hash é uma ferramenta de programação que cria impressões digitais para dados. Ela recebe qualquer quantidade de dados, os embaralha e retorna um resultado curto e único.

Ícone Ferramenta

SHA-256 (Texto)

Faz o hash de uma string de texto usando a função de hash SHA-256.

0 bytes
Ícone Função de Hash SHA-256
0 bytes

SHA = Secure Hashing Algorithm (Algoritmo de Hash Seguro), 256 = 256 bits (o tamanho do resultado).

O resultado da função de hash é só um monte de bytes. As letras e números que você vê são esses bytes representados em caracteres hexadecimais.

Propriedades

O que torna uma função de hash uma função de hash?

Algumas propriedades separam uma função de hash básica de uma forte:

  1. Determinística. O mesmo dado de entrada sempre produz o mesmo hash.
  2. Tamanho fixo. Qualquer entrada produz um hash do mesmo tamanho (o SHA-256 sempre produz 32 bytes).
  3. Efeito avalanche. Uma pequena mudança na entrada muda completamente o hash.
  4. Resistente à pré-imagem. Não é possível trabalhar de trás para frente, do hash para os dados originais.
  5. Resistente a colisões. É inviável encontrar duas entradas diferentes que produzam o mesmo hash.

Funções de Hash no Bitcoin

Quais funções de hash o Bitcoin usa?

O Bitcoin usa principalmente o SHA-256, mas também combina funções de hash:

SHA-256

A função de hash principal. Recebe dados e produz 32 bytes.

Ícone Ferramenta SHA-256
Ícone Ferramenta

SHA-256

SHA-256 simples. Faz o hash dos bytes de dados usando a função de hash SHA-256.

0 bytes
Ícone Função de Hash SHA-256
0 bytes

HASH256 (SHA-256 duplo)

O SHA-256 aplicado duas vezes. Usado em TXIDs, hashes de bloco e checksums.

Ícone Ferramenta HASH256
Ícone Ferramenta

HASH256

SHA-256 dupla. Faz o hash dos bytes de dados usando SHA-256 duas vezes: SHA256(SHA256(dados)).

0 bytes 0 bytes

HASH160 (RIPEMD-160 ∘ SHA-256)

O SHA-256 seguido do RIPEMD-160, produzindo 20 bytes. Usado para criar hashes de chave pública e hashes de script.

Ícone Ferramenta HASH160
Ícone Ferramenta

HASH160

SHA-256 + RIPEMD-160. Usado para encurtar uma chave pública ou script antes de converter em um endereço.

Uma chave pública ou script, por exemplo

0 bytes
Ícone Função de Hash SHA-256
Ícone Função de Hash RIPEMD-160

RIPEMD-160(SHA-256(dados))

0 bytes

HMAC-SHA512

Um hash com chave, usado na derivação de chaves estendidas (BIP32).

Ícone Ferramenta HMAC-SHA512
Ícone Ferramenta

HMAC-SHA512

Calcule o HMAC-SHA512 de uma mensagem usando uma chave. Usado na derivação de chaves BIP32.

PBKDF2

Uma função de derivação de chave (com HMAC-SHA512, 2048 iterações), usada para transformar uma frase mnemônica em uma seed (BIP39).

Ícone Ferramenta PBKDF2
Ícone Ferramenta

PBKDF2

Derive uma chave a partir de uma senha + sal usando HMAC-SHA512. É como o BIP39 transforma uma frase mnemônica em uma seed (2048 iterações).