Curious TechieDev Toolbox
Todos os Guias/Codificação & Criptografia8 min read

Guia Completo sobre Codificação Base64

Entenda o que é Base64, o funcionamento matemático dos 6 bits, versões seguras para URL e por que não se trata de criptografia.

Principais Conclusões
  • O Base64 é um esquema de codificação binário para texto definido pela RFC 4648.
  • Agrupa 3 bytes (24 bits) em 4 caracteres de 6 bits, aumentando o tamanho do payload em cerca de 33%.
  • Base64 NÃO é criptografia; qualquer pessoa pode decodificar o conteúdo original sem chave.
  • O Base64 URL-safe substitui + por - e / por _ para evitar erros em parâmetros web.

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.