Ir para o conteúdo

Conversor Base32, Base58 e Ascii85

Codifique texto ou bytes brutos como Base32, Base58, Ascii85 ou Z85, ou decodifique qualquer um deles de volta, com o alfabeto e as regras de preenchimento de cada codificação. A tabela de cálculo mostra como os primeiros bytes se transformam em caracteres. O Base64 é coberto pelo Codificador e Decodificador de Texto. Roda no seu navegador; nada é enviado.

Modo

Letras de A a Z e dígitos de 2 a 7, cinco bits por caractere, preenchidos com = até um múltiplo de oito caracteres. Ao decodificar, a diferença entre maiúsculas e minúsculas não importa.

Como foi calculado

Os bytes são escritos como bits e cortados em grupos de cinco. Cada grupo é um número de 0 a 31 e escolhe um caractere.

BitsValorCaractere
010019J
000011B
1001018S
1011022W
1100024Y
11011273
000113D
0111115P
001015F
1000016Q
1000016Q
001015F
0111014O
11011273
11011273
1001018S

Mostrando as primeiras 16 linhas.

Como usar o Conversor de codificações em base

  1. 1. Escolha uma codificação. Base32, Base32 com o alfabeto hexadecimal estendido, Base58 com o alfabeto Bitcoin, Ascii85 como usado pela Adobe, ou Z85. Uma nota abaixo do menu descreve a que você escolheu.
  2. 2. Diga o que são os dados. Texto é lido como bytes UTF-8. Bytes hexadecimais permite codificar dados binários arbitrários, como uma chave, digitados em pares como 86 4f d2 6f.
  3. 3. Codifique ou decodifique. A codificação gera um texto formado pelo alfabeto da codificação. A decodificação devolve bytes, mostrados como texto ou em hexadecimal. Espaços e quebras de linha na entrada são ignorados.
  4. 4. Confira as opções. Base32 pode ser escrita com ou sem o preenchimento =. Ascii85 pode ser envolvida em <~ e ~> e pode escrever quatro bytes zero como z.

Para que servem essas codificações

Nenhuma delas é criptografia. Cada uma transforma bytes, que podem não ser imprimíveis, em texto que pode ser colado em um e-mail, em uma URL, em um código QR ou em um arquivo de configuração, e cada uma é desfeita por qualquer pessoa que conheça o nome da codificação. Elas diferem no alfabeto que usam e no quanto o texto fica maior do que os dados.

CodificaçãoCaracteresTamanho em relação aos bytesHello, World vira
Base32 (RFC 4648)328 ÷ 5 do tamanhoJBSWY3DPFQQFO33SNRSA====
Base32 com hexadecimal estendido328 ÷ 5 do tamanho91IMOR3F5GG5ERRIDHI0====
Base58 (Bitcoin)58cerca de 1,37 vez2NEpo7TZsLBYdvo5V
Ascii85 (Adobe)855 ÷ 4 do tamanho<~87cURD_*#4DfTZ)~>
Z85 (ZeroMQ)855 ÷ 4 do tamanhonm=QNz.92jz/PV8

Base32

O Base32 divide os bytes em grupos de 5 bits e escreve cada um como um dos 32 caracteres, de A a Z e de 2 a 7. Usa apenas os dígitos de 2 a 7, deixando de fora 0, 1 e 8, que lembram O, I e B, e ignora a diferença entre maiúsculas e minúsculas, para que as pessoas possam lê-lo em voz alta ou digitá-lo. O sinal de preenchimento = arredonda o tamanho para um múltiplo de oito. A RFC 4648 traz vetores de teste como foobar → MZXW6YTBOI======. Segredos de aplicativos autenticadores e endereços de serviços onion da Tor são em Base32.

Base58

O Base58 trata a entrada inteira como um número grande e o escreve na base 58, deixando de fora 0, O, I e l, e os símbolos + e /, para que o resultado possa ser copiado com um duplo clique e seja difícil de ler errado. Cada byte zero à esquerda é escrito como o primeiro caractere, 1. O alfabeto Bitcoin é um entre vários alfabetos Base58; os usados pela Ripple e pelo Flickr ordenam os caracteres de outra forma, então confira qual deles os seus dados usam. Endereços Bitcoin acrescentam uma soma de verificação e um byte de versão, um esquema chamado Base58Check, que esta ferramenta não calcula.

Ascii85 e Z85

Ambas leem quatro bytes como um número de 32 bits e o escrevem como cinco dígitos na base 85, por isso ficam apenas 25% mais longas que os dados. O Ascii85 da Adobe, usado em PostScript e PDF, usa os caracteres de ! a u, abrevia quatro bytes zero como z e normalmente envolve os dados em <~ e ~>. Um grupo final de um a três bytes gera um caractere a mais do que tem bytes. O Z85, definido na RFC 32 do ZeroMQ, usa um alfabeto diferente de 85 caracteres escolhido para evitar aspas e barras invertidas em código-fonte, não tem o atalho z e nenhum grupo final curto, então sua entrada precisa ser um múltiplo de quatro bytes. Seu exemplo de especificação são os oito bytes 86 4f d2 6f b5 59 f7 5b, que codificam para HelloWorld. Existem outros alfabetos de base 85, como o da RFC 1924 que o Git usa, então combine o alfabeto com a sua fonte.

Perguntas frequentes

Base32 ou Base58 é criptografia?
Não. São codificações: qualquer pessoa pode revertê-las, porque o alfabeto e as regras são públicos. Elas tornam os dados imprimíveis e mais fáceis de copiar, não secretos.
Por que o Base58 deixa de fora alguns caracteres?
Para evitar caracteres parecidos e símbolos. Ele omite 0 (zero), O (o maiúsculo), I (i maiúsculo) e l (L minúsculo), que podem ser confundidos em muitas fontes, e + e /, que quebram a seleção por duplo clique. Restam 58 caracteres.
Como decodificar uma string Base32?
Escolha Base32, mude para Decodificar e cole a string. A diferença entre maiúsculas e minúsculas não importa, e os sinais = finais são opcionais. Se aparecer um erro que cita caracteres, a string provavelmente é Base32 com hexadecimal estendido, Base64 ou outra codificação.
Qual é a diferença entre Ascii85 e Z85?
Ambas usam cinco caracteres para quatro bytes, mas seus alfabetos diferem. O Ascii85 usa os caracteres de ! a u, tem o atalho z para zeros e pode ter <~ e ~> em volta. O Z85 usa um alfabeto seguro para código-fonte e nenhum atalho.
Por que o Z85 diz que preciso de um múltiplo de quatro bytes?
A especificação do Z85 não define preenchimento. Seus dados precisam ser um número inteiro de grupos de 4 bytes, e seu texto, um múltiplo de cinco caracteres. Acrescente bytes você mesmo, ou use o Ascii85, que lida com um grupo final curto.
Como codifico uma string Base64?
Esta página não faz Base64. O Codificador e Decodificador de Texto converte texto em Base64, URLs e entidades HTML e vice-versa, e a página XOR Cipher pode mostrar bytes hexadecimais em Base64.

Ferramentas relacionadas

Mais em Códigos e cifras