UltKit

Codificar JSON em Base64

Transforme um arquivo JSON em uma única linha de texto Base64 que passa sem problemas por variáveis de ambiente, campos YAML e corpos de requisição de API, onde aspas, chaves e quebras de linha causariam erros. Ao decodificar, você recupera exatamente os mesmos bytes.

Conversor de dados

ou solte arquivos CSV, TSV, TXT … aqui ·

Até 95 MB por arquivo· Até 20 arquivos· Apagados após 30 minutos

Saída

Os arquivos são processados em nossos servidores e apagados após 30 minutos.

Como usar esta ferramenta

  1. 1

    Envie o arquivo JSON

    Adicione um arquivo .json, .jsonl ou .ndjson, como uma chave de conta de serviço ou um arquivo de configuração. Até 20 arquivos por lote, de 95 MB cada.

  2. 2

    Escolha se quer o prefixo

    O Base64 simples já vem selecionado. Ative Prefixo data URI em Configurações avançadas somente se o texto for usado em um atributo HTML ou CSS que espera uma URL data:.

  3. 3

    Codifique e copie

    Clique em Converter para Base64 text, baixe o resultado e cole a string no seu cofre de segredos, manifesto ou corpo da requisição.

Codificar JSON em Base64 não altera os dados; apenas os reempacota como letras e números simples, para que possam passar por lugares que estragariam chaves, aspas e quebras de linha.

Por que codificar um arquivo JSON em Base64

O caso típico é um arquivo de credenciais. Um provedor de nuvem entrega uma chave de conta de serviço como arquivo JSON, e seu sistema de CI, painel de hospedagem ou plataforma de contêineres só oferece um campo de texto de uma linha para segredos. Colar o JSON puro falha na primeira quebra de linha ou na primeira aspa sem escape. Codificada em Base64, a mesma chave vira uma string contínua que a aplicação decodifica na inicialização.

O Base64 em si vem do e-mail: o MIME, definido na RFC 2045 em 1996, o usava para que anexos atravessassem servidores de e-mail que só transportavam texto de 7 bits. O alfabeto foi padronizado separadamente na RFC 4648, em 2006. O custo é o tamanho, já que cada 3 bytes viram 4 caracteres. Para imagens e outros arquivos binários, o Imagem para Base64 faz a mesma codificação com um data URI correspondente. Se a ferramenta de destino lê YAML em vez de um campo Base64, o JSON para YAML pode ser tudo de que você precisa.

Exemplo de JSON para Base64

JSON compacto {"env":"prod","retries":3} e sua codificação em Base64
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Onde se espera JSON codificado em Base64

Lugares que só aceitam JSON em Base64
ÓrgãoExigênciaFonte
Kubernetes SecretsTodo valor em data deve estar em Base64; para montar um arquivo de chave JSON, codifique-o primeiro.kubernetes.io
API REST do GitHubO endpoint de criar ou atualizar conteúdo de arquivo espera o arquivo, inclusive um .json, em Base64 no campo content.docs.github.com
JSON Web Tokens (RFC 7519)O cabeçalho e as claims em JSON são codificados cada um em base64url e unidos por pontos.—
Anexos de e-mail (MIME)Um anexo .json é enviado com codificação de transferência Base64 para passar por servidores de e-mail que só aceitam texto.—
Base64Codificação Base 64 · Codificação RFC 4648
Uma forma de escrever quaisquer bytes usando 64 caracteres seguros: A–Z, a–z, 0–9, + e /, com = como preenchimento. Cada grupo de 3 bytes de entrada vira 4 caracteres de saída, então o texto fica cerca de um terço maior que o arquivo. É reversível e não usa chave, o que o torna um formato de transporte, não uma medida de segurança.

Fatos sobre os formatos JSON e Base64

JSON

JavaScript Object Notation (JSON)

JSON é um formato de texto leve para dados estruturados, popularizado por Douglas Crockford no início dos anos 2000 e padronizado como RFC 8259 e ECMA-404. Ele representa objetos, arrays, strings, números, booleanos e null com uma sintaxe simples e legível. É o formato padrão de APIs web, arquivos de configuração e troca de dados entre aplicativos em praticamente todas as linguagens de programação. Não tem comentários, datas nem esquemas embutidos, e arquivos grandes e aninhados são difíceis de ler sem um visualizador.

Compressão
–
Transparência
–
Animação
–
Lançamento
2001 · Douglas Crockford
Conversor de JSON

BASE64

Texto codificado em Base64

Base64 é uma codificação, definida na RFC 4648, que transforma quaisquer dados binários em uma sequência de 64 caracteres de texto seguros. Ela é usada para incorporar imagens em HTML e CSS como data URIs, anexar arquivos a e-mails e enviar dados binários em JSON ou XML. A codificação é totalmente reversível, mas deixa os dados cerca de 33% maiores. Base64 não é criptografia e não oferece nenhuma segurança; qualquer pessoa pode decodificá-lo.

Compressão
Sem perdas
Transparência
–
Animação
–
Lançamento
–
Conversor de BASE64

O JSON é codificado em Base64 quando um conteúdo estruturado precisa caber em um único campo de texto que não aceita aspas e quebras de linha puras: um segredo de CI, um manifesto do Kubernetes, o campo content de uma API ou o valor de um cabeçalho.

Perguntas sobre JSON para Base64

JSON codificado em Base64 é criptografado?

Não. Base64 é uma codificação, e qualquer pessoa consegue decodificá-la com um único comando. A própria documentação do Kubernetes avisa que os Secrets são apenas codificados em Base64 e armazenados sem criptografia por padrão, então proteja a string codificada exatamente como protegeria a chave original.

Preciso de Base64 ou base64url para um token ou uma URL?

O Base64 padrão, como o gerado aqui, usa + e / e completa com =. JWTs e parâmetros de URL usam o alfabeto base64url da RFC 4648, que troca esses caracteres por - e _ e geralmente omite o preenchimento. Substitua esses três caracteres se o seu destino esperar base64url.

Devo minificar o JSON antes de codificar?

Normalmente sim. Espaços, indentação e quebras de linha são bytes como quaisquer outros, e cada 3 bytes viram 4 caracteres na saída. Compactar antes uma configuração formatada, por exemplo com jq -c, deixa a string codificada menor na mesma proporção.

Como decodificar a string de volta para JSON?

No macOS ou Linux, execute base64 --decode; no PowerShell, use [Convert]::FromBase64String; no navegador, passe o resultado de atob por um TextDecoder para que os caracteres UTF-8 voltem corretamente.

Por que o kubectl informa illegal base64 data?

O valor em data de um manifesto Secret precisa ser Base64 válido, em uma única linha. O erro geralmente indica que uma quebra de linha entrou ao colar ou que JSON puro foi colocado em data. Valores simples devem ficar em stringData, que o Kubernetes codifica para você.

A codificação altera algo dentro do meu JSON?

Não. O Base64 converte bytes em texto e de volta sem perdas, então chaves, valores, caracteres acentuados e até uma marca de ordem de bytes no início do arquivo são restaurados exatamente na decodificação.