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
- Pegue os bytes de entrada:
M,a,n= 77, 97, 110. - Escreva-os como 24 bits:
01001101 01100001 01101110. - Divida os bits em quatro grupos de 6 bits:
010011 010110 000101 101110= 19, 22, 5, 46. - 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
| Valores | Caracteres |
|---|---|
| 0–25 | A–Z |
| 26–51 | a–z |
| 52–61 | 0–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 padrão (RFC 4648) – o alfabeto acima, com preenchimento
=. - Base64URL – usa
-e_e muitas vezes dispensa o preenchimento; é usado em URLs, nomes de arquivo e JWTs. - Base64 MIME – alfabeto padrão com quebras de linha a cada 76 caracteres, usado em e-mails.
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
- Anexos de e-mail (MIME)
- Data URIs para imagens e fontes em HTML e CSS
- Campos binários em APIs JSON e XML
- JSON Web Tokens e OAuth
- Cabeçalhos de autenticação HTTP Basic
- Certificados PEM e chaves SSH
- Secrets do Kubernetes e arquivos de configuração
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: