O Que e Base64?
Base64 e uma codificacao que representa dados binários usando apenas 64 caracteres ASCII imprimiveis: A-Z, a-z, 0-9, + e /, com = como padding. Serve para transportar binários por canais que só aceitam texto.
Onde Base64 e usado em SegInfo?
- Tokens JWT - header e payload são Base64URL
- Certificados PEM - BEGIN CERTIFICATE ... END CERTIFICATE
- Payloads de phishing - atacantes ocultam scripts maliciosos em Base64
- Basic Authentication -
Authorization: Basic dXNlcjpwYXNz - Imagens inline -
data:image/png;base64,... - MIME email - anexos codificados em Base64
Qualquer pessoa pode decodificar Base64 em milissegundos. Nunca use Base64 para "esconder" senhas ou dados sensíveis. Para proteger dados, use criptografia real (AES-256, TLS, bcrypt para senhas).
Base64 vs Base64URL
Base64 padrão usa + e /, que são caracteres reservados em URLs. Base64URL substitui por - e _, além de remover o padding =. E o formato usado em JWT, OAuth e cookies.
URL Encoding (Percent Encoding)
URL encoding, também chamado percent encoding, converte caracteres que tem significado especial em URLs (como espacos, ?, &, =) para a forma %XX, onde XX e o valor hexadecimal do byte UTF-8.
encodeURI vs encodeURIComponent
- encodeURI - codifica uma URL completa, preserva
:/?#&=que tem função estrutural - encodeURIComponent - codifica um valor individual, escapa tudo que não e alfanumerico
Quando usar cada um?
Use encodeURIComponent para codificar valores que você insere em uma URL (nome de usuário em query string, por exemplo). Use encodeURI apenas quando você esta codificando uma URL inteira que ainda precisa funcionar como URL.
Codificacao Hexadecimal
Hex representa cada byte (8 bits) como dois caracteres hexadecimais (0-9, a-f). E a representação textual padrão de dados binários em SegInfo.
Onde Hex e usado em SegInfo?
- Hashes - MD5, SHA-1, SHA-256 são exibidos em hex
- Chaves criptográficas - chaves AES, HMAC
- MAC addresses -
de:ad:be:ef:00:01 - Analise de memória - hex dumps em forense e engenharia reversa
- IoCs - assinaturas de malware em YARA
- Shellcodes -
\x90\x90\x31\xc0
Uso em Cibersegurança
Estas codificacoes são onipresentes em analise de tráfego, pentest de APIs, reverse engineering de malware e response a incidentes. Veja alguns cenários:
Analise de phishing
URLs de phishing frequentemente escondem o destino real via URL encoding ou Base64. Decodifique para revelar o domino malicioso:
hxxps://safe[.]com?r=aHR0cHM6Ly9waGlzaGluZy5jb20= → decode Base64 → https://phishing.com
Pentest de APIs
JWT tokens são três segmentos Base64URL separados por ponto: header.payload.signature. Decodifique os dois primeiros para inspecionar claims. Nossa ferramenta de decodificacao de JWT automatiza isso.
Analise de malware
Macros maliciosos em documentos Office frequentemente usam Base64 para ocultar payloads PowerShell. Decodificar revela o comando real:
powershell -enc SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQALgAu...
Erros Comuns
- Achar que Base64 e segurança - não e criptografia, apenas codificacao
- Misturar Base64 e Base64URL - o decoder falha se o formato não bate com o encoder
- Esquecer UTF-8 - caracteres acentuados viram bytes múltiplos; ignorar isso corrompe dados
- Double encoding - aplicar duas vezes por engano (
%2520em vez de%20) - Hex com caracteres estranhos - espacos,
:,-,0xprecisam ser removidos antes de decodificar
Perguntas Frequentes
Base64 e uma codificacao que representa dados binários usando 64 caracteres ASCII imprimiveis. Serve para transmitir dados binários por canais que aceitam apenas texto (email, JSON, URLs, JWT). Não e criptografia - qualquer um pode decodificar.
encodeURI preserva caracteres reservados de URL (/ ? # : &) pois assume URL completa. encodeURIComponent codifica todos os especiais, ideal para valores individuais de query string. Regra: use Componente para valores dentro de uma URL.
Hex e apenas representação textual de bytes - cada byte vira 2 caracteres (00-FF). Não oferece segurança alguma, apenas legibilidade. Comum em assinaturas, hashes, chaves criptográficas e analise forense.
Não. Toda codificacao/decodificacao acontece no seu navegador usando APIs nativas. Nenhum dado e transmitido, salvo ou registrado. Você pode desconectar da internet e a ferramenta continua funcionando.
Base64 usa 6 bits por caractere para representar 8 bits de dado - tamanho cresce ~33% (4/3). Além disso, o comprimento e arredondado para multiplo de 4 com padding (=). 100 bytes binários viram ~136 caracteres Base64.
Outras Ferramentas Gratuitas
Decoder JWT
Decode e inspecione tokens JWT, veja header e payload, detecte vulnerabilidades como alg=none.
Calculadora de Hash
Calcule hashes MD5, SHA-1, SHA-256, SHA-384 e SHA-512 de texto ou arquivo.
Gerador de Senhas
Gere senhas fortes e frases-senha com criptografia segura do navegador.
Precisa de uma avaliação de segurança em sua aplicação?
Nossa equipe realiza pentest de APIs, analise de tokens JWT e revisão de criptografia em produtos web e mobile.
Solicitar Proposta