UltKit

Convertir JSON a Base64

Convierta un archivo JSON en una sola línea de texto Base64 que sobrevive en variables de entorno, campos YAML y cuerpos de API donde las comillas, las llaves y los saltos de línea darían problemas. Al decodificarlo se recuperan exactamente los mismos bytes.

Convertidor de datos

o suelte aquí archivos CSV, TSV, TXT … ·

Máx. 95 MB por archivo· Hasta 20 archivos· Se borran a los 30 minutos

Salida

Los archivos se procesan en nuestros servidores y se borran a los 30 minutos.

Cómo usar esta herramienta

  1. 1

    Suba el archivo JSON

    Agregue un archivo .json, .jsonl o .ndjson, como una clave de cuenta de servicio o una configuración. Hasta 20 archivos por lote, de 95 MB cada uno.

  2. 2

    Decida sobre el prefijo

    Viene seleccionado Base64 simple. Active Prefijo de URI de datos en Opciones avanzadas solo si el texto va en un atributo HTML o CSS que espera una URL data:.

  3. 3

    Codifique y copie

    Pulse Convertir a texto Base64, descargue el resultado y pegue la cadena en su almacén de secretos, manifiesto o cuerpo de la solicitud.

Codificar JSON en Base64 no cambia los datos; los reempaqueta como letras y dígitos simples para que puedan pasar por lugares que destrozarían llaves, comillas y saltos de línea.

Por qué codificar un archivo JSON en Base64

El caso típico es un archivo de credenciales. Un proveedor de nube le entrega una clave de cuenta de servicio como archivo JSON, y su sistema de CI, su panel de hosting o su plataforma de contenedores solo ofrece un campo de texto de una línea para los secretos. Pegar el JSON tal cual falla en el primer salto de línea o en la primera comilla sin escapar. Codificada en Base64, la misma clave es una cadena continua que la aplicación decodifica al arrancar.

Base64 viene del correo electrónico: MIME, definido en la RFC 2045 en 1996, lo usaba para que los adjuntos cruzaran servidores de correo que solo transportaban texto de 7 bits. Más tarde el alfabeto se estandarizó por separado en la RFC 4648, en 2006. El precio es el tamaño, ya que cada 3 bytes se convierten en 4 caracteres. Para imágenes y otros archivos binarios, Imagen a Base64 hace la misma codificación con la URI de datos correspondiente. Si la herramienta de destino lee YAML en lugar de un campo Base64, quizá le baste con JSON a YAML.

Ejemplo de JSON a Base64

JSON compacto {"entorno":"prod","reintentos":3} y su codificación Base64
{"entorno":"prod","reintentos":3}

eyJlbnRvcm5vIjoicHJvZCIsInJlaW50ZW50b3MiOjN9

Dónde se espera JSON codificado en Base64

Lugares que solo aceptan JSON en Base64
OrganismoRequisitoFuente
Secrets de KubernetesTodo valor bajo data debe ir en Base64; para montar un archivo de clave JSON, codifíquelo primero.kubernetes.io
API REST de GitHubEl endpoint para crear o actualizar el contenido de un archivo espera el archivo, también un .json, en Base64 dentro de content.docs.github.com
JSON Web Tokens (RFC 7519)El encabezado JSON y las claims se codifican cada uno con base64url y se unen con puntos.—
Adjuntos de correo (MIME)Un adjunto .json se envía con codificación de transferencia Base64 para que pase por servidores de correo de solo texto.—
Base64codificación Base 64 · codificación RFC 4648
Una forma de escribir cualquier byte con 64 caracteres seguros: A–Z, a–z, 0–9, + y /, con = como relleno. Cada grupo de 3 bytes de entrada se convierte en 4 caracteres de salida, así que el texto es aproximadamente un tercio más largo que el archivo. Es reversible y no lleva clave, lo que lo convierte en un formato de transporte, no en una medida de seguridad.

Datos de los formatos JSON y Base64

JSON

JavaScript Object Notation (JSON)

JSON es un formato de texto ligero para datos estructurados, popularizado por Douglas Crockford a principios de la década de 2000 y estandarizado como RFC 8259 y ECMA-404. Representa objetos, arreglos, cadenas, números, booleanos y null con una sintaxis sencilla y legible. Es el formato predeterminado para las API web, los archivos de configuración y el intercambio de datos entre aplicaciones en casi todos los lenguajes de programación. No incluye comentarios, fechas ni esquemas, y los archivos grandes y anidados son difíciles de leer sin un visor.

Compresión
–
Transparencia
–
Animación
–
Presentado en
2001 · Douglas Crockford
Convertidor de JSON

BASE64

Texto codificado en Base64

Base64 es una codificación, definida en el RFC 4648, que convierte cualquier dato binario en una cadena de 64 caracteres de texto seguros. Se usa para incrustar imágenes en HTML y CSS como data URI, para adjuntar archivos al correo electrónico y para enviar datos binarios en JSON o XML. La codificación es totalmente reversible, pero aumenta el tamaño de los datos aproximadamente un 33%. Base64 no es cifrado y no ofrece ninguna seguridad: cualquiera puede decodificarlo.

Compresión
Sin pérdida
Transparencia
–
Animación
–
Presentado en
–
Convertidor de BASE64

JSON se codifica en Base64 cuando un contenido estructurado tiene que viajar dentro de un único campo de texto que no admite comillas ni saltos de línea sin escapar: un secreto de CI, un manifiesto de Kubernetes, el campo content de una API o el valor de un encabezado.

Preguntas sobre convertir JSON a Base64

¿El JSON codificado en Base64 está cifrado?

No. Base64 es una codificación y cualquiera puede decodificarla con un solo comando. La propia documentación de Kubernetes advierte que los Secrets solo se codifican en Base64 y se guardan sin cifrar por defecto, así que proteja la cadena codificada igual que la clave original.

¿Necesito Base64 o base64url para un token o una URL?

Base64 estándar, como el que se genera aquí, usa + y / y rellena con =. Los JWT y los parámetros de URL usan el alfabeto base64url de la RFC 4648, que los sustituye por - y _ y normalmente omite el relleno. Reemplace esos tres caracteres si su destino espera base64url.

¿Conviene minificar el JSON antes de codificarlo en Base64?

Normalmente sí. Los espacios, la sangría y los saltos de línea son bytes como cualquier otro, y cada 3 bytes se convierten en 4 caracteres de salida. Compactar antes una configuración con formato legible, por ejemplo con jq -c, acorta en proporción la cadena codificada.

¿Cómo se decodifica la cadena Base64 de vuelta a JSON?

En macOS o Linux ejecute base64 --decode, en PowerShell use [Convert]::FromBase64String y en un navegador pase el resultado de atob por un TextDecoder para que los caracteres UTF-8 vuelvan correctamente.

¿Por qué kubectl informa illegal base64 data?

El valor bajo data en un manifiesto de Secret debe ser Base64 válido en una sola línea. El error suele significar que se coló un salto de línea al pegar, o que se puso JSON sin codificar bajo data. Los valores sin codificar van bajo stringData, que Kubernetes codifica por usted.

¿La codificación Base64 cambia algo dentro de mi JSON?

No. Base64 convierte bytes en texto y viceversa sin pérdida, así que las claves, los valores, los caracteres acentuados e incluso una marca de orden de bytes al inicio del archivo se restauran exactamente al decodificar.