Base64 para JSON: como decodificar cookies e dados de sessão com segurança
Digital Account Market
· Última atualização:
Você tem uma sequência longa e ilegível de letras e números que deveria guardar dados de cookie ou de sessão, e precisa converter base64 para json para conseguir ler o conteúdo de verdade. Talvez um vendedor, uma extensão do navegador ou um painel de importação tenha entregado essa string, e você quer ver os campos antes de passá-la para outra ferramenta.
Este guia mostra como reconhecer uma string Base64, decodificá-la em JSON bem formatado com uma ferramenta gratuita, corrigir os erros que costumam aparecer e codificar o JSON de volta em Base64 quando um painel pedir esse formato. Também explica como manter os dados decodificados em sigilo, porque os valores de cookies e tokens são sensíveis.
O que é Base64 e por que cookies e tokens vêm embrulhados nele
O Base64 escreve qualquer dado, inclusive texto com aspas, chaves e letras acentuadas, usando apenas 64 caracteres seguros: de A a Z, de a a z, de 0 a 9, mais os símbolos + e /. Sistemas que não lidam bem com pontuação bruta ou quebras de linha ainda conseguem transportar os dados, porque o Base64 transforma tudo em texto simples e fácil de copiar.
É por isso que, na prática, você acaba encontrando uma string de cookie em base64. Uma ferramenta que exporta dados de sessão em JSON pode embrulhá-los em Base64 para que passem por uma caixa de texto, um parâmetro de URL ou uma mensagem de chat sem quebrar, e um painel de importação pode esperar o mesmo formato na entrada.
O ponto importante: Base64 é uma codificação, não uma criptografia. Não há senha nem chave, e qualquer pessoa com a string consegue transformá-la de volta no texto original. Por isso, trate a string como se ela fosse o próprio dado.
Como reconhecer uma string Base64
Antes de decodificar qualquer coisa, confirme que a string realmente é Base64. Três verificações rápidas costumam resolver.
O conjunto de caracteres
Uma string Base64 padrão contém apenas letras, dígitos, + e /. Se você vê dois-pontos, espaços entre palavras ou arrobas, provavelmente é outra coisa. Linhas de entrega como username:password:email:email_password:auth_token são texto separado por dois-pontos, não Base64, e nenhum decodificador vai conseguir interpretá-las.
O preenchimento (padding)
O Base64 trabalha em grupos de quatro caracteres. Quando os dados não completam o último grupo, um ou dois sinais de igual são adicionados como preenchimento. Uma string que termina em = ou == é um forte indício, mas strings sem sinal de igual também são válidas quando o tamanho encaixa, e algumas ferramentas removem o preenchimento de propósito.
O começo que entrega
Um objeto JSON começa com chave e aspas, e esse par sempre é codificado com o mesmo início. Uma string que começa com eyJ é quase sempre um objeto JSON, W3si costuma indicar uma lista de objetos e WyJ uma lista de valores de texto. Se a sua string começa assim, decodificá-la deve render JSON.
Não tem certeza? Cole uma amostra na ferramenta de identificar formato. Ela confere o alfabeto, o preenchimento e o tamanho e diz se o texto parece Base64, JSON ou outra coisa.
Base64 para JSON: decodifique com a ferramenta gratuita
A ferramenta de Base64 para JSON faz todo o trabalho no seu navegador, e nada é enviado, então a string fica no seu dispositivo.
- Cole a string Base64 na caixa de entrada. Se quiser ver como é um resultado correto, use primeiro o botão de exemplo.
- O resultado aparece na hora. Se o texto decodificado for um JSON válido, ele é exibido formatado com recuo de dois espaços, o que facilita percorrer os campos aninhados.
- Leia a estrutura e use o botão de copiar para levar o JSON com você.
A ferramenta remove espaços e quebras de linha antes de decodificar e lê os bytes como UTF-8, de modo que letras acentuadas e alfabetos não latinos saem corretos, em vez de virar símbolos embaralhados. Para testar, cole eyJ1c2VyIjoiaGVzYXAxIiwidG9rZW4iOiJhYmMxMjMifQ== e você receberá um objeto com um campo user e um campo token.
Se o texto decodificado for legível, mas não for JSON, a ferramenta o mostra como texto simples em vez de descartar o resultado. Isso é comum com um token isolado e continua sendo uma decodificação bem-sucedida.
Corrija erros de decodificação: preenchimento, quebras de linha e a variante URL-safe
Quando uma decodificação falha, a causa quase sempre é uma destas.
Preenchimento ausente
A string foi cortada ou teve os sinais de igual removidos. Compare eyJpZCI6MX0= com eyJpZCI6MTIzfQ==: a primeira precisa de um sinal de igual, a segunda de dois. Acrescente = até o tamanho ser múltiplo de quatro. A exceção é uma string que deixa resto um quando dividida por quatro: nenhum preenchimento resolve, porque caracteres se perderam na hora de copiar, e você precisa de uma cópia nova do original.
Quebras de linha e espaços soltos
Clientes de e-mail, aplicativos de chat e arquivos de texto costumam quebrar strings longas em várias linhas. Essas quebras não fazem parte dos dados. A ferramenta as remove para você, mas outros decodificadores podem não remover.
A variante URL-safe
Strings feitas para endereços web trocam + por - e / por _ para sobreviver dentro de um link, e um decodificador padrão rejeita esses dois caracteres. Troque cada - por + e cada _ por /, restaure o preenchimento e decodifique de novo.
Linhas de contas coladas por engano
Se você colou linhas de dados de entrega separados por dois-pontos, a ferramenta vai avisar que aquilo parece uma lista de contas. Esse texto precisa de um separador de colunas, não de um decodificador. Use dividir por delimitador para extrair os campos de que precisa.
Codificar JSON em Base64: converta de volta para ferramentas que exigem esse formato
Alguns painéis e ferramentas de importação querem os dados de sessão em Base64 em vez de JSON puro. A ferramenta de JSON para Base64 cuida desse sentido. Cole o seu JSON, escolha a saída compacta em uma única linha ou a indentada, mais legível, e copie o resultado. O modo compacto é o melhor padrão para a maioria das importações, porque gera a string mais curta.
A ferramenta valida o seu JSON primeiro, então uma vírgula faltando ou uma chave sem fechar é detectada antes de você codificar um conteúdo quebrado. A codificação usa UTF-8, o que torna a ida e volta confiável: decodifique uma string, altere um campo, codifique de novo, e todos os outros campos voltam exatamente como estavam.
Se os seus cookies estão em um arquivo de texto no formato Netscape, converta-os com a ferramenta de cookies Netscape e siga o nosso guia sobre como converter cookies Netscape em JSON. Se você trabalha com um auth token, veja como fazer login no Twitter com um auth token.
Mantenha os dados decodificados em sigilo
Dados decodificados de cookie e de sessão podem conter tokens que funcionam como uma chave de acesso à conta, então vale manter alguns hábitos.
- Trabalhe localmente. Uma ferramenta no navegador que não envia a sua entrada é melhor do que um site qualquer que manda o seu texto para um servidor que você não consegue inspecionar.
- Não cole valores decodificados em chats públicos, tickets ou capturas de tela. Ao pedir ajuda, compartilhe só os nomes dos campos.
- Mantenha a string original intacta, decodifique uma cópia e apague os arquivos de trabalho quando terminar.
Para conversões simples e repetíveis como estas, um conversor local costuma ser tudo de que você precisa. Nosso texto sobre quando um conversor de formato local basta explica como decidir. Quando estiver pronto para escolher contas, veja a categoria de contas antigas e use a página de ferramentas gratuita para tudo o que fica entre a entrega e o login.
Perguntas frequentes
Como sei se uma string é Base64?
Confira três coisas: se usa apenas letras, dígitos, + e /; se o tamanho se encaixa em grupos de quatro com preenchimento = opcional; e se, quando guarda um objeto JSON, costuma começar com eyJ. A ferramenta de identificar formato automatiza essa verificação.
Por que o meu Base64 é decodificado em caracteres ilegíveis?
Ou os dados nunca foram texto, como uma imagem ou um conteúdo compactado, ou usavam outro conjunto de caracteres. Você também recebe lixo quando a string é a variante URL-safe e não foi convertida antes.
O que significa o sinal de igual no final?
É preenchimento. O Base64 codifica em blocos de quatro caracteres, e um ou dois sinais de igual completam o último bloco quando os dados ficam curtos. Eles não carregam informação própria.
Base64 é uma forma de criptografia?
Não. O Base64 só muda a forma como os dados são escritos, e qualquer pessoa pode reverter sem chave. Proteja uma string Base64 do mesmo jeito que protegeria os dados legíveis.
Como converto JSON de volta para Base64?
Cole o JSON na ferramenta de JSON para Base64, escolha a saída compacta ou indentada e copie o resultado. A ferramenta sinaliza JSON inválido antes de codificar.

