O Que e Base64?

Base64 e uma codificacao que representa dados binarios usando apenas 64 caracteres ASCII imprimiveis: A-Z, a-z, 0-9, + e /, com = como padding. Serve para transportar binarios por canais que so aceitam texto.

Onde Base64 e usado em SegInfo?

  • Tokens JWT - header e payload sao 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
Base64 nao e criptografia

Qualquer pessoa pode decodificar Base64 em milissegundos. Nunca use Base64 para "esconder" senhas ou dados sensiveis. Para proteger dados, use criptografia real (AES-256, TLS, bcrypt para senhas).

Base64 vs Base64URL

Base64 padrao usa + e /, que sao caracteres reservados em URLs. Base64URL substitui por - e _, alem de remover o padding =. E o formato usado em JWT, OAuth e cookies.

URL Encoding (Percent Encoding)

URL encoding, tambem 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 funcao estrutural
  • encodeURIComponent - codifica um valor individual, escapa tudo que nao e alfanumerico

Quando usar cada um?

Use encodeURIComponent para codificar valores que voce insere em uma URL (nome de usuario em query string, por exemplo). Use encodeURI apenas quando voce 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 representacao textual padrao de dados binarios em SegInfo.

Onde Hex e usado em SegInfo?

  • Hashes - MD5, SHA-1, SHA-256 sao exibidos em hex
  • Chaves criptograficas - chaves AES, HMAC
  • MAC addresses - de:ad:be:ef:00:01
  • Analise de memoria - hex dumps em forense e engenharia reversa
  • IoCs - assinaturas de malware em YARA
  • Shellcodes - \x90\x90\x31\xc0

Uso em Cibersegurança

Estas codificacoes sao onipresentes em analise de trafego, pentest de APIs, reverse engineering de malware e response a incidentes. Veja alguns cenarios:

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 sao tres 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 seguranca - nao e criptografia, apenas codificacao
  • Misturar Base64 e Base64URL - o decoder falha se o formato nao bate com o encoder
  • Esquecer UTF-8 - caracteres acentuados viram bytes multiplos; ignorar isso corrompe dados
  • Double encoding - aplicar duas vezes por engano (%2520 em vez de %20)
  • Hex com caracteres estranhos - espacos, :, -, 0x precisam ser removidos antes de decodificar

Perguntas Frequentes

O que e Base64 e para que serve?

Base64 e uma codificacao que representa dados binarios usando 64 caracteres ASCII imprimiveis. Serve para transmitir dados binarios por canais que aceitam apenas texto (email, JSON, URLs, JWT). Nao e criptografia - qualquer um pode decodificar.

Qual a diferenca entre encodeURI e encodeURIComponent?

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 seguro para transportar dados?

Hex e apenas representacao textual de bytes - cada byte vira 2 caracteres (00-FF). Nao oferece seguranca alguma, apenas legibilidade. Comum em assinaturas, hashes, chaves criptograficas e analise forense.

Os dados sao enviados ao servidor?

Nao. Toda codificacao/decodificacao acontece no seu navegador usando APIs nativas. Nenhum dado e transmitido, salvo ou registrado. Voce pode desconectar da internet e a ferramenta continua funcionando.

Por que Base64 aumenta o tamanho dos dados?

Base64 usa 6 bits por caractere para representar 8 bits de dado - tamanho cresce ~33% (4/3). Alem disso, o comprimento e arredondado para multiplo de 4 com padding (=). 100 bytes binarios 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 avaliacao de seguranca em sua aplicacao?

Nossa equipe realiza pentest de APIs, analise de tokens JWT e revisao de criptografia em produtos web e mobile.

Solicitar Proposta