AZ Tools

Codificador / Decodificador Base58 (Bitcoin, IPFS)

Desenvolvimento

Base58 é uma codificação binário-para-texto que descarta os caracteres visualmente ambíguos 0 (zero), O (ó maiúsculo), I (i maiúsculo) e l (L minúsculo), além de + e / — então o resultado é compacto e seguro para copiar à mão ou colocar numa URL. É a codificação por trás de endereços Bitcoin e chaves WIF, hashes IPFS CIDv0 e chaves Solana. Cole texto UTF-8 ou hex e codifique para Base58, ou cole uma string Base58 e decodifique de volta para texto ou hex. Os bytes zero à esquerda viram caracteres '1' à esquerda exatamente como a implementação de referência do Bitcoin, então dados binários fazem o ciclo byte a byte. Escolha o alfabeto Bitcoin/IPFS (o comum), o alfabeto reordenado do Ripple ou o de URLs curtas do Flickr. Tudo roda localmente — nada é enviado.

Saída

Base58 simples (não Base58Check). Uma string só decodifica com o mesmo alfabeto em que foi codificada.

Como usar

  1. Escolha Codificar ou Decodificar.
  2. Escolha o alfabeto (Bitcoin é o padrão e mais comum) e se seus dados são texto UTF-8 ou bytes hex.
  3. Digite ou cole na caixa de entrada e copie o resultado.

Perguntas frequentes

Isto é Base58Check?
Não. É Base58 simples — não adiciona nem verifica o checksum de 4 bytes (SHA-256 duplo) que o Base58Check usa para endereços Bitcoin e chaves WIF. Use para payloads Base58 crus; se precisar de Base58Check, deve anexar/validar o checksum separadamente.
Por que o Base58 descarta alguns caracteres?
O alfabeto omite 0, O, I e l porque se confundem facilmente em muitas fontes, e + e / porque não são seguros em URLs. Por isso uma string Base58 é segura para ler em voz alta, transcrever ou colar numa URL sem escapar.
Qual a diferença entre os alfabetos?
Bitcoin/IPFS usa a ordem '123...ABC...abc' e é de longe o mais comum. Ripple reordena os mesmos 58 caracteres (os mesmos bytes dão outra string). Flickr troca a ordem de maiúsculas para URLs curtas. Uma string só decodifica corretamente com o alfabeto em que foi codificada.
Como os bytes zero à esquerda são tratados?
Cada byte 0x00 à esquerda vira um '1' à esquerda (o primeiro caractere do alfabeto), igual à referência do Bitcoin. Por isso uma entrada 0x00000000 codifica para '1111' e decodifica de volta para quatro bytes zero — os dados binários sobrevivem ao ciclo exatamente.

Ferramentas relacionadas