Codificador e Decodificador Base32

Base32 representa dados binários usando 32 caracteres — os dez dígitos de 2 a 7 e as 26 letras maiúsculas, sem 0/O ou 1/I para evitar erros de leitura. Isso o torna ideal para qualquer coisa que um humano tenha que digitar ou ler em voz alta: segredos TOTP de dois fatores, códigos de voucher, identificadores sem distinção de maiúsculas. Esta ferramenta codifica binário ou texto para Base32 e decodifica de volta, seguindo a RFC 4648 com preenchimento opcional.

Como codificar ou decodificar Base32

  1. 1

    Cole o texto ou faça upload de um arquivo

    A entrada é tratada como bytes. UTF-8 é a interpretação padrão para entrada de texto.

  2. 2

    Escolha a direção

    Codifique para transformar bytes brutos em uma string Base32; decodifique para recuperar os bytes.

  3. 3

    Configure o preenchimento

    A RFC 4648 especifica preenchimento `=` até um comprimento múltiplo de 8. Desative para segredos TOTP e tokens compactos.

  4. 4

    Copie o resultado

    A saída codificada é em maiúsculas, preenchida ou não preenchida conforme sua configuração.

O alfabeto RFC 4648

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 3 4 5 6 7

Sem 0, sem 1, sem 8, sem 9. Cada caractere codifica 5 bits (2^5 = 32), então 5 bytes de entrada se tornam 8 caracteres de saída.

Exemplo prático

Codificando a string ASCII foo (bytes 0x66 0x6F 0x6F = 01100110 01101111 01101111):

  1. Divida em grupos de 5 bits: 01100 11001 10111 10110 1111 (último grupo preenchido)
  2. Mapeie para o alfabeto: M Z X W 6
  3. Adicione preenchimento === para alcançar 8 caracteres: MZXW6===

Regras de preenchimento e comprimento

Bytes de entrada Comprimento de saída Preenchimento
1 8 ======
2 8 ====
3 8 ===
4 8 =
5 8 (nenhum)

Variações além da RFC 4648

  • Base32 Hex — Alfabeto 0-9A-V, usado por NSEC3 no DNSSEC.
  • Base32 de Crockford — Alfabeto otimizado para digitação humana; substitui O0, I/L1 na decodificação. Usado por ULIDs e algumas chaves de licença.

Esta ferramenta usa por padrão a RFC 4648 padrão.

Segredos TOTP

O formato de URI otpauth:// usado pelo Google Authenticator e por todos os aplicativos modernos de 2FA codifica o segredo compartilhado em Base32 sem preenchimento. Quando você escaneia um QR para “Meu Serviço”, o parâmetro secret= é uma string Base32. Decodifique-a com esta ferramenta para inspecionar os bytes brutos que o HMAC usa.

Perguntas frequentes

Base32 é sem distinção de maiúsculas e evita caracteres semelhantes, o que é importante para qualquer coisa que um humano leia ou digite. Base64 é mais denso (menos caracteres para os mesmos bytes), mas exige que você diferencie I de l e 0 de O, o que falha na escrita manual e em impressão pequena.

A RFC 4648 diz que sim, mas a maioria dos consumidores do mundo real (aplicativos TOTP, bibliotecas ULID, resolvers DNSSEC) aceita entrada sem preenchimento. Esta ferramenta permite que você escolha; cole em qualquer forma e a decodificação deve funcionar.

A Base32 padrão não tem 0, 1, 8 ou 9 e é sempre em maiúsculas. Se sua entrada tiver esses, pode ser a variante de Crockford ou base32hex, não a RFC 4648. Limpe a entrada ou escolha a variante correta.

Não. A codificação e decodificação ocorrem no navegador. Nem a entrada nem o resultado saem da sua máquina.

Ferramentas relacionadas