Ir para o conteúdo
Totalmente local

Conversor Bech32

Codifique um prefixo e dados em Bech32 ou Bech32m, ou descodifique e verifique um.

Entrada

Conversor Bech32

Bech32 e a sua variante Bech32m são as codificações de texto com checksum por trás dos modernos endereços SegWit Bitcoin, componentes base de faturas Lightning, e chaves Nostr como npub e nsec. Esta ferramenta cria uma string Bech32 ou Bech32m a partir de um prefixo legível e uma carga de dados, ou decomõe uma string existente para mostrar o prefixo, os dados em hexadecimal, e se o checksum é realmente válido.

Mude Direção para escolher codificar ou descodificar. Codificar lê os dados da caixa de entrada — como pares de bytes hexadecimais, ou, se alterar Formato de entrada de dados para base32, como caracteres diretos do conjunto de caracteres Bech32 (qpzry9x8gf2tvdw0s3jn54khce6mua7l) — combina com o Prefixo legível, e acrescenta um checksum de 6 caracteres calculado para a Variante que escolheu. Descodificar faz o inverso: divide a string no último "1", verifica o checksum contra a variante selecionada, e imprime o prefixo seguido dos dados em hexadecimal. Se o checksum não corresponder à variante escolhida mas corresponder à outra, o erro dirá isto, pois Bech32 e Bech32m diferem apenas numa constante usada para calcular o checksum.

Verificar comprimento contra o limite de 90 caracteres Bech32 reforça os limites que BIP-173 define para o prefixo (83 caracteres) e a string completa (90 caracteres); desative para trabalhar com strings mais longas, como as cargas base32 que alguns casos de uso não-endereço produzem. Mostrar checksum separadamente imprime o checksum de 6 caracteres numa linha à parte em vez de o incluir na string principal. Note que esta é uma ferramenta Bech32 de uso geral, não uma específica para Bitcoin: um endereço SegWit codifica um símbolo de versão de testemunha extra antes dos seus dados, então descodificar um endereço real aqui frequentemente reportará um erro de preenchimento — isto é esperado, pois o fluxo de bits bruto não se alinha numa fronteira de byte depois desse símbolo extra ser incluído.

Tudo é executado localmente no seu navegador; nada que cole é alguma vez carregado. Copie o resultado, descarregue como arquivo .txt, ou envie a saída diretamente para a entrada para continuar a trabalhar nela.

FAQ

Qual é a diferença entre Bech32 e Bech32m?
Ambas compartilham a mesma estrutura e alfabeto, mas usam uma constante diferente ao calcular o checksum. Bech32 é o original (usado por endereços SegWit versão-0); Bech32m corrige uma fraqueza que o original tinha para outras versões de testemunha e é usado por formatos mais recentes como endereços Taproot.
Por que a descodificação de um endereço Bitcoin real às vezes falha aqui?
Um endereço SegWit empacota um símbolo de versão de testemunha em frente aos dados reais antes do checksum. Esta ferramenta trata tudo entre o prefixo e o checksum como um fluxo de dados simples, portanto não dividirá esse símbolo de versão — a descodificação ainda verifica o checksum corretamente, mas o hexadecimal reportado cobre o fluxo completo em vez de apenas o programa.
O que acontece se eu colar dados no formato errado?
Receberá um erro claro explicando o que está errado — como um número impar de dígitos hexadecimais, ou um caractere fora do conjunto de caracteres Bech32 — em vez de uma resposta silenciosamente errada.
Posso usar um prefixo diferente de "bc"?
Sim. O prefixo legível é qualquer string de caracteres ASCII imprimíveis — "bc" para rede principal Bitcoin, "tb" para testnet, "npub"/"nsec" para chaves Nostr, ou qualquer prefixo que escolha.
Os meus dados são carregados em algum lugar?
Não. Codificar e descodificar ambos rodam inteiramente no seu navegador — nada que escreva ou cole é alguma vez enviado para um servidor.