Canais de comunicação digital como e-mail (SMTP) e strings de URL foram originalmente concebidos para trafegar apenas texto ASCII de 7 bits. Quando os engenheiros precisaram transmitir dados binários de 8 bits (como imagens, arquivos e assinaturas digitais), desenvolveram a codificação Base64.
1. O que é Base64?
O Base64 é um esquema de codificação padronizado pela RFC 4648. Ele mapeia sequências arbitrárias de bytes binários em um conjunto seguro de 64 caracteres ASCII imprimíveis: letras maiúsculas (A-Z), minúsculas (a-z), dígitos (0-9) e dois símbolos (+ e /).
2. Mecânica Matemática de 3 para 4 Bytes
O algoritmo agrupa os dados de entrada em blocos de 24 bits (3 bytes). Esses 24 bits são particionados em 4 números de 6 bits (já que 2^6 = 64). Cada valor de 6 bits atua como índice na tabela de 64 caracteres:
3 Bytes de Entrada: [01001101] [01100001] [01101110] (24 bits = "Man")
4 Chunks de Saída: [010011] [010110] [000101] [101110]
Índice Base64: 19 22 5 46
Saída Base64: T W F u => "TWFu"3. Por que o Preenchimento com Igual (=) é Necessário
Se o tamanho da entrada não for divisível por 3, o codificador insere bits zero para completar o grupo final de 6 bits e adiciona um ou dois sinais de igual (=) como preenchimento, informando ao receptor o número exato de bytes originais.
4. Variantes Base64 Seguras para URLs
O Base64 padrão inclui + e /, caracteres com significado reservado em URLs. No Base64 URL-safe (usado em JWTs e OAuth), o + é trocado por - e a / por _, frequentemente dispensando o preenchimento com =.
5. O Mito da "Criptografia Base64"
Base64 não é criptografia. Não há chave secreta nem barreira computacional. Qualquer pessoa que tenha a string Base64 pode decodificá-la imediatamente. Nunca utilize Base64 para proteger senhas ou dados confidenciais.