Pular para o conteúdo
🛠️ToolsShed

Codificador/Decodificador Base32

Codifica e decodifica texto usando Base32.

Sobre esta ferramenta

Base32 é um esquema de codificação binária para texto que converte dados brutos em um alfabeto de 32 caracteres (A-Z e 2-7), permitindo que informações binárias sejam transmitidas com segurança através de sistemas baseados em texto. Diferentemente do Base64, que é mais compacto, o Base32 prioriza robustez e legibilidade. Seu conjunto limitado de caracteres evita confusão entre letras semelhantes (como 'O' e '0') e funciona de forma confiável em diferentes codificações de caracteres. Base32 é particularmente valioso em sistemas de autenticação (tokens TOTP para autenticação de dois fatores), arquivos de zona DNS, sistemas de nomenclatura de arquivos e em qualquer lugar onde a representação de dados segura e inequívoca seja essencial.

Para usar esta ferramenta, cole ou digite seus dados no campo de entrada e selecione 'Codificar' para converter texto bruto ou dados binários para o formato Base32, ou 'Decodificar' para converter texto codificado em Base32 de volta à sua forma original. A ferramenta funciona perfeitamente com entradas de texto e binárias, processando automaticamente os dados e exibindo o resultado instantaneamente. Os casos de uso comuns incluem gerar ou verificar códigos de autenticação de dois fatores, incorporar dados com segurança em URLs, converter arquivos binários para armazenamento ou transmissão, e garantir a integridade dos dados ao mover informações entre sistemas com suporte a caracteres diferentes.

Uma vantagem do Base32 sobre outras codificações é que não diferencia maiúsculas de minúsculas—as versões em maiúsculas e minúsculas são decodificadas de forma idêntica, reduzindo erros de transcrição na entrada manual. A codificação expande o tamanho dos dados em aproximadamente 60%, o que é maior que Base64, mas ainda gerenciável para a maioria das aplicações. Se você está trabalhando com aplicativos de autenticação, distribuindo códigos QR com dados codificados ou precisa de uma codificação amigável ao usuário que minimize ambigüidade, o Base32 é frequentemente a escolha ideal.

Perguntas Frequentes

Implementação de Código

import base64

# Encode bytes to Base32
data = b"Hello, World!"
encoded = base64.b32encode(data).decode()
print("Encoded:", encoded)  # JBSWY3DPEB3W64TMMQ======

# Decode Base32 back to bytes
decoded = base64.b32decode(encoded)
print("Decoded:", decoded.decode())  # Hello, World!

# Base32 for TOTP secret generation
import os
totp_secret = base64.b32encode(os.urandom(20)).decode().rstrip("=")
print("TOTP Secret:", totp_secret)  # e.g. JBSWY3DPEB3W64TM

# Decode without padding (common in authenticator apps)
def b32decode_nopad(s: str) -> bytes:
    pad = (8 - len(s) % 8) % 8
    return base64.b32decode(s.upper() + "=" * pad)

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.