Codificar e decodificar Base58

O texto comum é convertido primeiro em bytes UTF-8 e depois codificado como Base58 ou Base58Check.

0 caracteres de entrada

Codifique e decodifique Base58 ou Base58Check no navegador, com suporte para texto, arquivos, alfabetos personalizados e saida hexadecimal.

Sugestões Relacionadas

O que são Base58 e Base58Check?

Base58 é uma codificação de texto destinada à leitura e colagem humana. Ele removerá facilmente caracteres mal interpretados, como 0, O, I e l, por isso é frequentemente usado em cenários como logotipos curtos, códigos de convite, endereços de carteira e códigos de compartilhamento offline.

A tabela de caracteres padrão Bitcoin Base58 é `123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`. Esta página oferece suporte à versão Flickr do alfabeto e ao seu próprio alfabeto definido de 58 caracteres.

Base58Check é uma solução que anexa uma soma de verificação de 4 bytes após os bytes originais e a codifica em Base58 como um todo. É frequentemente usado para endereços Bitcoin antigos, exportações de chaves privadas WIF, códigos de convite ou strings que precisam ser transcritos manualmente. O objetivo é detectar erros de digitação, palavras faltantes ou fora de ordem mais cedo.

Se você obtiver uma carga binária, uma carga de endereço ou um fragmento de hash, o conteúdo decodificado não será necessariamente um texto legível. Neste momento, é mais adequado mudar para hexadecimal para visualização, em vez de julgar mal os caracteres ilegíveis como falha de decodificação.

IPFS CIDv0 usa o padrão Base58btc em vez de Base58Check; `bc1...` Este tipo de endereço Bitcoin pertence a Bech32 e não está no escopo desta página Base58.

Casos de uso

  • Verifique se o endereço Bitcoin antigo, a string de exportação de chave privada WIF ou o código de compartilhamento personalizado Base58Check foram inseridos incorretamente.
  • Codifique pequenos arquivos, fragmentos binários ou cargas de teste em Base58 para facilitar a entrega em logs, chats ou tickets.
  • Decodifique a string Base58 em hexadecimal e, em seguida, analise-a em busca de bytes de versão, hash ou carga útil bruta.
  • Compare a saída entre Bitcoin Base58 e Flickr Base58 para descobrir por que o mesmo conjunto de bytes tem resultados diferentes em sistemas diferentes.
  • Projete sua própria tabela de caracteres de 58 caracteres para códigos de convite internos, logotipos curtos ou tokens offline e verifique se ambas as extremidades são consistentes.

Como Usar

  1. Selecione o modo de codificação ou decodificação; se você precisar lidar com strings propensas a erros inseridas por humanos, ative a opção Base58Check.
  2. Selecione Bitcoin, Flickr ou uma tabela de caracteres personalizada; se for um protocolo privado, primeiro certifique-se de que ambas as partes utilizem o mesmo conjunto de sequências de 58 caracteres.
  3. Insira texto ou carregue um arquivo durante a codificação; cole a string Base58 ao decodificar, mudando para o resultado hexadecimal para ver os bytes brutos, se necessário.
  4. Copie ou baixe diretamente após visualizar a saída; se for Base58Check, a página perguntará de forma síncrona se a verificação foi aprovada.

Recursos

  • Modos duplos padrão Base58 e Base58Check: a codificação normal pode ser feita diretamente ou uma soma de verificação de 4 bytes pode ser automaticamente anexada ou verificada.
  • Tanto o texto quanto os arquivos podem ser codificados: o texto comum será processado de acordo com UTF-8 e os arquivos serão codificados de acordo com bytes brutos, o que é adequado para entrega offline de conteúdo binário.
  • Os resultados da decodificação podem ser alternados entre texto ou hexadecimal: não fique preso a jargões ao encontrar cargas úteis de endereço, fragmentos de hash ou dados que não sejam UTF-8.
  • Suporta Bitcoin, Flickr e tabela de caracteres personalizada de 58 caracteres: adequado para compatibilidade com sistemas existentes ou depuração de soluções privadas de código curto.
  • Processamento local do navegador e download de resultados: codificação, decodificação e verificação são concluídos localmente e a saída pode ser copiada ou baixada diretamente.

Como escolher Base58, Base58Check, Base64?

Ambos podem converter bytes em texto transitável, mas o foco é completamente diferente. A chave não é "o que é mais avançado", mas se você valoriza mais a transcrição manual e a prevenção de erros ou se você valoriza a compacidade e a compatibilidade universal.

Best Practices

Será dada prioridade a Base58Check quando transcrito manualmente ou retransmitido pelo atendimento ao cliente

Contanto que a string seja ditada, capturada de tela, encaminhada no bate-papo ou digitada novamente manualmente, quase sempre vale a pena abrir uma soma de verificação. Isso não evitará todos os erros, mas reduzirá significativamente as situações "parece que está certo, mas na verdade está faltando um caractere".

Quando o resultado decodificado não for texto, primeiro observe o hexadecimal

Não há garantia de que conteúdos como cargas de endereço, hashes, cabeçalhos de imagem e fragmentos compactados sejam UTF-8. Primeiro mude para hexadecimal para confirmar os bytes originais e, em seguida, decida se deseja converter o arquivo, continuar o hash ou entregá-lo a outras ferramentas para processamento.

Ferramentas hexadecimais

Não use Base58 como formato de armazenamento de longo prazo para arquivos grandes

Base58 é mais adequado para strings curtas e cargas úteis pequenas a médias. Quanto maior o arquivo, mais longa será a saída, menos conveniente de copiar e maior a probabilidade de ser truncado em rich text, ferramentas de bate-papo ou logs.

Ao personalizar a tabela de caracteres, ela deve estar sincronizada com todos os terminais de produção.

Contanto que um servidor, script ou cliente use uma ordem diferente, os resultados de codificação e decodificação estarão todos desalinhados. Corrija primeiro a sequência de 58 caracteres e depois escreva-a no protocolo ou na amostra de teste.

Priorize a comparação Base64URL quando for necessária uma transmissão de interface mais curta e geral.

A vantagem do Base58 é que ele é fácil de ler e evita confusão, mas não é do menor tamanho. Se as strings são passadas principalmente entre programas e não serão transcritas por humanos, Base64URL é geralmente mais compacto e comum.

Base64 URL Seguro

Perguntas frequentes

Qual devo escolher entre Base58 e Base64?

Se a string for lida, copiada ou inserida para outras pessoas, Base58 é o preferido; se for transmitido principalmente em programas, interfaces, parâmetros JSON ou URL, geralmente Base64 ou Base64URL é mais compacto. O foco de Base58 é a legibilidade e a anti-ofuscação, não o resultado mais curto.

Base58Check Que problema isso resolve?

Ele anexa uma soma de verificação de 4 bytes à carga original e, em seguida, codifica toda a carga com Base58. Dessa forma, quando o usuário erra uma palavra, comete um erro de digitação ou escreve na ordem errada, a ferramenta reportará mais facilmente um erro a tempo, em vez de obter silenciosamente uma sequência de resultados sem sentido.

Esta página pode verificar endereços Bitcoin?

Pode-se verificar se a camada Base58Check está correta, portanto, é adequado verificar se há erros de entrada óbvios na versão antiga do endereço Base58 ou na string de exportação WIF. No entanto, ele não determinará ainda mais o uso do endereço, o tipo de rede e o tipo de script, nem oferece suporte a endereços Bech32, como `bc1...`.

Por que o código após a decodificação está distorcido ou o prompt não é UTF-8?

Porque Base58 decodifica bytes brutos, não necessariamente texto legível. Isso pode acontecer com cargas de endereço, hashes, cabeçalhos de imagem ou dados binários arbitrários. Mude para hexadecimal para visualizar os bytes brutos e geralmente você poderá continuar a análise.

A codificação e decodificação do arquivo Base58 é suportada?

Suporte. Você pode fazer upload de arquivos durante a codificação e a página será convertida em Base58 de acordo com os bytes originais; você também pode baixar o resultado original após a decodificação. Quanto maior o arquivo, mais longa será a sequência de saída, tornando-o mais adequado para cargas de trabalho pequenas e médias ou cenários de depuração.

Quais tabelas de caracteres são suportadas?

Atualmente suporta os padrões Bitcoin Base58, Flickr Base58 e sua tabela de caracteres personalizada de 58 caracteres. Contanto que o final da codificação e o final da decodificação usem exatamente a mesma sequência de caracteres, eles podem se comunicar entre si.

Ele pode lidar com IPFS CID ou outras strings na cadeia?

CIDv0 Essas strings Base58btc padrão podem ser codificadas ou decodificadas diretamente; mas a página não continuará a analisar semântica multibase, multicodec ou concreta na cadeia. Strings Bech32 como `bc1...` não se enquadram no escopo de Base58.

O conteúdo enviado será enviado ao servidor?

Não. Texto, arquivos e resultados de soma de verificação Base58Check são todos processados localmente no navegador, o que é adequado para depurar cargas confidenciais, dados de teste offline ou fragmentos de arquivo cujo upload é inconveniente.

Solução de Problemas

A dica contém caracteres Base58 ilegais

A tabela de caracteres atual não aceita caracteres excluídos como 0, O, I e l. Também pode ser que você tenha cortado a tabela de caracteres Bitcoin/Flickr/personalizada errada. Primeiro confirme a origem da string e, em seguida, verifique se a tabela de caracteres é consistente com a outra parte.

Base58Check verificação falhou

Isso geralmente significa que a string foi copiada de forma insuficiente, os caracteres foram escritos incorretamente ou não é o próprio Base58Check. Primeiro confirme se você realmente precisa abrir Base58Check e depois volte e verifique se o conteúdo original está completo.

A tabela de caracteres personalizados não pode ser salva

A tabela de caracteres personalizados deve ter exatamente 58 caracteres e cada caractere deve aparecer apenas uma vez. Recomenda-se modificar primeiro a tabela de caracteres padrão Bitcoin para evitar caracteres ausentes ou repetidos.

O resultado decodificado não é texto

Isso não é necessariamente um bug. Muitas strings Base58 originalmente carregam cargas binárias. Mude para hexadecimal para visualizar ou baixe os resultados da decodificação como um arquivo e decida a próxima etapa.

Glossário

Base58
Codificação de texto de 58 bits que remove caracteres facilmente confundidos, como 0, O, I, l, etc., adequada para entrada manual e compartilhamento de cópia.
Base58Check
Uma soma de verificação de 4 bytes é anexada após a carga original e, em seguida, toda a codificação Base58 é usada para detectar erros de entrada antecipadamente.
Carga útil
Faça Base58 ou Base58Check conteúdo de bytes brutos antes da codificação, que pode ser texto, bytes de arquivo, carga útil de endereço ou dados binários arbitrários.
Soma de verificação
Impressões digitais curtas para verificação rápida de erros. Base58Check duplicará SHA-256 na carga útil e usará os primeiros 4 bytes como soma de verificação.
Bitcoin Base58 Tabela de caracteres
A tabela de caracteres Base58 mais comum: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz.
Flickr Base58
Flickr é outro conjunto de classificação usado por Base58, a ordem dos casos é diferente da versão Bitcoin, portanto, os mesmos bytes obterão saídas diferentes.

Tabela de caracteres suportada pela página atual

Para o mesmo conjunto de bytes, desde que a ordem da tabela de caracteres seja diferente, a saída Base58 final será diferente.

tabela de caracteresUsos comunsDescrição

Quando você deve mudar para a visualização hexadecimal?

Base58 O resultado decodificado nem sempre pode ser lido diretamente no texto.

Conteúdo encontradoUma maneira melhor de visualizarRazão

Authoritative References