Formulário de contato

Nome

E-mail *

Mensagem *

Imagem

Como Gerar Frases BIP39 com Python e Entropia Hexadecimal

Como Gerar Frases BIP39 com Python e Entropia Hexadecimal

Publicado por em


@CanalQb no YouTube


@CanalQb

Como Gerar Frases BIP39 com Python e Entropia Hexadecimal


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



Gerando Frases Mnemônicas BIP39 com Python

As frases mnemônicas BIP39 são amplamente utilizadas para gerar carteiras determinísticas (HD Wallets) em aplicações de blockchain e criptomoedas. Este artigo ensina como gerar entropia hexadecimal personalizada e convertê-la em frases de recuperação com 12, 15, 18 e 24 palavras, usando Python e a biblioteca mnemonic.

O que é BIP39?

O padrão BIP39 (Bitcoin Improvement Proposal 39) define como criar uma frase mnemônica (seed phrase) a partir de uma entropia criptográfica. Essa frase é essencial para restaurar carteiras e deve ser gerada com máxima segurança.

Como Funciona a Entropia?

A entropia é uma sequência de bits aleatórios usada como base para gerar a frase mnemônica. A BIP39 define tamanhos específicos de entropia que correspondem à quantidade de palavras na frase:

  • 12 palavras: 128 bits (16 bytes)
  • 15 palavras: 160 bits (20 bytes)
  • 18 palavras: 192 bits (24 bytes)
  • 24 palavras: 256 bits (32 bytes)

No exemplo abaixo, entropias são geradas aleatoriamente em formato hexadecimal, adaptadas para os tamanhos exigidos e convertidas em frases mnemônicas.

Script Python para Gerar Frases Mnemônicas

import random
from mnemonic import Mnemonic

# Função para ajustar a entropia para o tamanho desejado
def ajustar_entropia(base_hex, tamanho_bytes):
    base_hex = base_hex.lower().replace('0x', '')
    base_bytes = bytes.fromhex(base_hex)
    if len(base_bytes) > tamanho_bytes:
        return base_bytes[:tamanho_bytes]
    return base_bytes.ljust(tamanho_bytes, b'\x00')

# Inicializar biblioteca BIP39
mnemo = Mnemonic("english")

# Tamanhos desejados: (quantidade de palavras, bytes de entropia)
tamanhos = {
    12: 16,
    15: 20,
    18: 24,
    24: 32
}

# Caracteres hexadecimais
hex_chars = '0123456789abcdef'

# Loop para gerar frases mnemônicas a partir de 32 entropias diferentes
for i in range(32):
    resultado = ''.join(random.choice(hex_chars) for _ in range(32))
    print(f"\n🧬 Entropia gerada ({i+1}): {resultado}")

    for palavras, bytes_necessarios in tamanhos.items():
        entropia = ajustar_entropia(resultado, bytes_necessarios)
        frase = mnemo.to_mnemonic(entropia)
        print(f"🔑 {palavras} palavras ({bytes_necessarios} bytes de entropia):")
        print(frase)

Exemplo de Saída

A execução do script gera resultados como:

🧬 Entropia gerada (1): f3c4a289b63dfe7ad880d9a9e2a6011f
🔑 12 palavras (16 bytes de entropia):
voice lake april lunch elder ethics awkward butter smile laptop rescue cup

Segurança na Geração de Frases Mnemônicas

Frases mnemônicas devem ser geradas sempre offline, em ambientes seguros, e jamais compartilhadas ou salvas em texto puro em dispositivos conectados à internet. O ideal é utilizar sistemas com air gap ou dispositivos especializados (como hardware wallets).

Biblioteca Utilizada

O código utiliza a biblioteca oficial mnemonic, desenvolvida para compatibilidade com o padrão BIP39. Para mais informações, acesse o repositório:

Conclusão

Gerar frases BIP39 com Python permite criar sistemas personalizados de backup, restauração e geração de carteiras. Este script é útil para desenvolvedores, entusiastas de segurança digital e auditores de criptomoedas que desejam compreender como funciona o processo interno por trás das seeds de recuperação.

Aviso: Este conteúdo é educativo. Cada usuário é responsável por analisar o código, testar em ambiente seguro e não aplicar em contextos financeiros sem entender os riscos envolvidos. Não compartilhe nem armazene frases mnemônicas de forma insegura.

@CanalQb

Marcadores: Airdrop Blogger Cripto IA Jogos Python Script Sistemas Tutorial

© junho 30, 2025 CanalQb — Python, Scripts, Automação, Airdrops e Criptomoedas | Web3 e Tech na Prática

Comentários