1. O Que Sao Codificacoes Binario-para-Texto
Codificacoes binario-para-texto convertem dados binarios (bytes) em caracteres ASCII imprimiveis, tornando-os seguros para transmissao em sistemas que nao suportam bytes arbitrarios — como emails, URLs, DNS, arquivos de configuracao e APIs JSON.
Cada codificacao representa n bits por caractere: Base16 usa 4 bits/char, Base32 usa 5 bits/char, Base64 usa 6 bits/char e Base85 usa ~6,57 bits/char. Quanto mais bits por caractere, menor o overhead da codificacao.
2. Base32: TOTP e Sistemas Case-Insensitive
O Base32 (RFC 4648) usa o alfabeto A-Z + 2-7, resultando em 32 simbolos possivel por caractere. Seu principal diferencial e ser completamente case-insensitive — o que o torna ideal para secrets de autenticacao de dois fatores (TOTP/Google Authenticator), onde o usuario precisa digitar a chave manualmente.
- RFC 4648 Standard: alfabeto A-Z e 2-7, padding com =
- Base32Hex: alfabeto 0-9 e A-V, mantem ordenacao lexicografica
"Todo app de autenticacao 2FA que exibe um 'secret' para o usuario usa Base32 — e por isso o codigo parece letras maiusculas aleatorias."
3. Base16 (Hex): O Padrao Universal
Base16 representa cada byte como dois digitos hexadecimais (0-9, A-F). Com 100% de overhead, e o menos eficiente, mas o mais legivel e amplamente suportado. E o padrao para hashes criptograficos (MD5, SHA-256), cores CSS, enderecos MAC, fingerprints de certificados SSL e dump de memoria.
4. Base58: Bitcoin e Legibilidade Humana
Criado por Satoshi Nakamoto para enderecos de carteiras Bitcoin, o Base58 remove caracteres visuamente confusos do Base62: 0 (zero), O (letra o maiuscula), I (letra i maiuscula) e l (letra l minuscula). Isso reduz erros de transcricao quando humanos copiam enderecos manualmente. Tambem e usado pelo IPFS (CIDv0) e por sistemas que geram chaves de API legivel por humanos.
5. Base85/ASCII85: Maxima Compactacao
Base85 representa 4 bytes como 5 caracteres ASCII, resultando em apenas 25% de overhead — menor que Base64 (33%) e muito menor que Base16 (100%). E usado em PostScript, PDF (flate/ASCII85 stream), Git (patches binarios) e o protocolo RFC 1924 para codificar enderecos IPv6.
6. Perguntas Frequentes
Por que nao usar Base64 para tudo?
Base64 e otimo para uso geral, mas cada codificacao tem suas vantagens: Base32 e case-insensitive, Base58 evita confusao visual, Base85 e mais compacto. A escolha depende do caso de uso especifico.
O processamento e seguro e privado?
Sim. Todo o encode e decode ocorre localmente no seu navegador via JavaScript. Nenhum dado e enviado a servidores. E seguro para codificar secrets, chaves e dados sensiveis.
Qual variante de Base58 usar?
Use Bitcoin (padrao) para compatibilidade maxima. A variante Flickr inverte maiusculas e minusculas e foi criada para gerar IDs mais esteticos em URLs curtas.