Ferramentas
PT

O que é a codificação Base64?

Base64 é uma forma de escrever quaisquer dados binários usando apenas 64 caracteres imprimíveis. Veja como funciona, por que existe e quando você deve (ou não) usá-lo.

Base64 em uma frase

Base64 é uma codificação de binário para texto definida na RFC 4648 que representa cada grupo de 3 bytes de dados com 4 caracteres do alfabeto A–Z, a–z, 0–9, + e /.

Por que o Base64 existe

Muitos sistemas foram projetados apenas para texto: e-mail (SMTP), JSON, XML, atributos HTML, URLs e terminais. Dados binários brutos, como imagens ou PDFs, podem conter bytes que esses sistemas alterariam ou rejeitariam. O Base64 converte os dados em caracteres seguros e imprimíveis, para que cheguem ao destino sem nenhuma alteração.

Como funciona a codificação Base64, passo a passo

  1. Pegue os bytes de entrada: M, a, n = 77, 97, 110.
  2. Escreva-os como 24 bits: 01001101 01100001 01101110.
  3. Divida os bits em quatro grupos de 6 bits: 010011 010110 000101 101110 = 19, 22, 5, 46.
  4. Procure cada número no alfabeto: 19 = T, 22 = W, 5 = F, 46 = u.

Assim, Man vira TWFu. A decodificação simplesmente faz esses passos ao contrário.

O alfabeto Base64

ValoresCaracteres
0–25A–Z
26–51a–z
52–610–9
62+ (seguro para URL: -)
63/ (seguro para URL: _)
preenchimento=

O que significa o preenchimento =

Quando o tamanho da entrada não é múltiplo de 3, o último grupo é completado e marcado com =: Ma vira TWE= e M vira TQ==. O preenchimento nunca aparece no meio de uma string válida.

Variantes do Base64

Base64 não é criptografia

O Base64 não esconde nada: qualquer pessoa consegue decodificá-lo na hora. Ele costuma ser confundido com proteção porque o resultado parece aleatório. Para proteger segredos, use criptografia de verdade, como AES, e deixe o Base64 apenas para transportar os bytes criptografados como texto.

Aumento de tamanho

O comprimento codificado é de 4 × ⌈n / 3⌉ caracteres para n bytes, cerca de 33% a mais que o original. Com as quebras de linha MIME, ele cresce mais 2–3%.

Onde o Base64 é usado

Perguntas frequentes

Base64 é o mesmo que criptografia ou hash?

Não. A criptografia precisa de uma chave para ser revertida e um hash não pode ser revertido de forma alguma, enquanto o Base64 pode ser decodificado por qualquer pessoa.

Por que se chama Base64?

Porque usa um alfabeto de 64 caracteres, então cada caractere carrega 6 bits de informação (26 = 64).

Como saber se uma string está em Base64?

Ela contém apenas A–Z, a–z, 0–9, +, / (ou - e _), o comprimento costuma ser múltiplo de 4 e ela pode terminar com um ou dois sinais =. O teste mais rápido é colá-la no nosso decodificador.

Última atualização: