Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Conversão e Validação de Chaves WIF em Bitcoin

#bitcoin; #wif; #criptografia

@CanalQb no YouTube


@CanalQb

Conversão e Validação de Chaves WIF em Bitcoin


Sempre crie uma frase de segurança única para jogos, testnets ou airdrops e evite usar sua carteira principal.



Conversão e Validação de Chaves Privadas WIF

Este artigo apresenta um utilitário em Python para converter e validar chaves privadas do formato WIF (Wallet Import Format) para hexadecimal e vice-versa, utilizando a codificação Base58Check. Esta ferramenta é útil para desenvolvedores, auditores de segurança e entusiastas de criptomoedas que desejam entender melhor o funcionamento interno das carteiras Bitcoin.

O que é WIF?

WIF, ou Wallet Import Format, é um formato codificado em Base58Check utilizado para importar/exportar chaves privadas com segurança em carteiras Bitcoin. Ele inclui:

  • Prefixo (0x80) que indica uma chave privada padrão;
  • Bytes opcionais indicando se a chave é comprimida;
  • Checksum para garantir integridade dos dados.

Utilidade do Script

O script realiza as seguintes funções:

  • Decodificação Base58: converte strings codificadas para bytes.
  • Validação Base58Check: garante que o checksum é válido.
  • Conversão WIF → Hex: extrai a chave privada em hexadecimal, detectando se está comprimida.
  • Conversão Hex → WIF: gera WIF válido a partir de uma chave hexadecimal.

Funções do Script em Python

base58_decode

Converte uma string Base58 para bytes. Valida os caracteres usando o alfabeto definido para Bitcoin:

BASE58_ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'

base58check_encode e base58check_decode

Essas funções garantem integridade dos dados por meio de duplo hash SHA-256 e comparação com checksum:

  • base58check_encode(data) → retorna string Base58Check.
  • base58check_decode(s) → retorna o payload se checksum for válido.

wif_to_hex

Converte uma chave WIF para hexadecimal, verificando se é comprimida:

hex_key, is_compressed = wif_to_hex('5KJo41DNfD3qPVMv9Dv1AcufqrbaxiaMKP7dNYzmu673YTUuWMa')

hex_to_wif

Converte uma chave hexadecimal para WIF, com ou sem compressão:

wif = hex_to_wif(hex_key, compressed=True)

Exemplo de Execução

Ao executar o script com o WIF fornecido, temos:

Hexadecimal: 67b20b0a06606f85d6c0621175fc0323dd81fc0d15e7109c0f170e7ad93b0c93
Comprimida? True
WIF Comprimida: L3eZf2qKUXEuRfaT13XUSdVLzX7DPnbUoWWay7MpYwtqKHL7BDqT

Resumo das Ferramentas e Scripts

Script Tema Funções Principais
1 Geração de Endereços Bitcoin Cria endereços a partir de intervalos de chaves privadas, comparando com banco de dados
2 Utilitários Base58Check e Conversão WIF/Hex Converte e valida WIF, transforma em hexadecimal e vice-versa

Segurança e Uso Responsável

Este utilitário é fornecido para fins educacionais e técnicos. O uso de chaves privadas requer extremo cuidado. Nunca compartilhe ou utilize chaves privadas em ambientes não seguros.

Aviso: Toda decisão de uso, investimento ou movimentação de criptomoedas deve ser feita com base em conhecimento e análise pessoal. Não siga qualquer procedimento sem entender completamente os riscos envolvidos.

Link oficial da biblioteca

Este script não depende de bibliotecas externas, mas está alinhado com os conceitos definidos na documentação oficial do WIF na Wiki do Bitcoin.

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo