UltKit

JSON til Base64-koder

Gjør en JSON-fil om til én enkelt linje med Base64-tekst som fungerer i miljøvariabler, YAML-felt og API-forespørsler der anførselstegn, krøllparenteser og linjeskift ellers ville skapt problemer. Når du dekoder den, får du tilbake nøyaktig de samme bytene.

Datakonverterer

eller slipp CSV, TSV, TXT …-filer her ·

Maks 95 MB per fil· Opptil 20 filer· Slettes etter 30 minutter

Utdata

Filene behandles på serverne våre og slettes etter 30 minutter.

Slik bruker du dette verktøyet

  1. 1

    Last opp JSON-filen

    Legg til en .json-, .jsonl- eller .ndjson-fil, for eksempel en tjenestekontonøkkel eller en konfigurasjonsfil. Opptil 20 filer per batch, 95 MB hver.

  2. 2

    Velg prefiks

    Vanlig Base64 er valgt. Slå på Data URI-prefiks under Avanserte innstillinger bare hvis teksten skal inn i et HTML- eller CSS-attributt som forventer en data:-URL.

  3. 3

    Kod og kopier

    Trykk Konverter til Base64 text, last ned resultatet og lim strengen inn i hemmelighetslageret, manifestet eller forespørselens body.

Å kode JSON som Base64 endrer ikke dataene. Det pakker dem om til vanlige bokstaver og sifre, slik at de kan sendes gjennom steder som ellers ville ødelagt klammer, anførselstegn og linjeskift.

Hvorfor kode en JSON-fil som Base64

Det typiske tilfellet er en legitimasjonsfil. En skyleverandør gir deg en tjenestekontonøkkel som JSON-fil, og CI-systemet, vertsdashbordet eller containerplattformen din har bare et enlinjes tekstfelt for hemmeligheter. Hvis du limer inn rå JSON, feiler det ved første linjeskift eller første anførselstegn uten escape. Kodet som Base64 er den samme nøkkelen én sammenhengende streng som applikasjonen dekoder ved oppstart.

Base64 går selv tilbake til e-post: MIME, definert i RFC 2045 i 1996, brukte det slik at vedlegg kunne passere e-postservere som bare håndterte 7-bits tekst. Alfabetet ble senere standardisert for seg i RFC 4648 i 2006. Prisen er størrelsen, siden hver 3 bytes blir til 4 tegn. For bilder og andre binære filer gjør Bilde til Base64 den samme kodingen med en tilsvarende data-URI. Hvis mottakerverktøyet leser YAML i stedet for et Base64-felt, kan JSON til YAML være alt du trenger.

Eksempel på JSON til Base64

Kompakt JSON {"env":"prod","retries":3} og Base64-kodingen av den
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Hvor Base64-kodet JSON forventes

Steder som bare tar imot JSON som Base64
OrganisasjonKravKilde
Kubernetes SecretsHver verdi under data må være Base64. Monter en JSON-nøkkelfil ved å kode den først.kubernetes.io
GitHub REST APIEndepunktet for å opprette eller oppdatere filinnhold forventer filen, også en .json-fil, som Base64 i content.docs.github.com
JSON Web Tokens (RFC 7519)JSON-headeren og claims kodes hver for seg med base64url og settes sammen med punktum.—
E-postvedlegg (MIME)Et .json-vedlegg sendes med Base64 som overføringskoding slik at det passerer e-postservere som bare takler tekst.—
Base64Base 64-koding · RFC 4648-koding
En måte å skrive vilkårlige bytes på med 64 trygge tegn: A–Z, a–z, 0–9, + og /, med = som utfylling. Hver gruppe på 3 inndatabytes blir til 4 tegn i utdata, så teksten blir omtrent en tredjedel lengre enn filen. Kodingen er reversibel og har ingen nøkkel, så den er et transportformat, ikke et sikkerhetstiltak.

Fakta om JSON- og Base64-formatene

JSON

JavaScript Object Notation

JSON er et lett tekstformat for strukturerte data, gjort populært av Douglas Crockford tidlig på 2000-tallet og standardisert som RFC 8259 og ECMA-404. Det representerer objekter, lister, tekststrenger, tall, boolske verdier og null med enkel, lesbar syntaks. Det er standardformatet for web-API-er, konfigurasjonsfiler og datautveksling mellom apper i nesten alle programmeringsspråk. Det har ingen innebygde kommentarer, datoer eller skjemaer, og store nestede filer er vanskelige å lese uten en viser.

Komprimering
–
Gjennomsiktighet
–
Animasjon
–
Introdusert
2001 · Douglas Crockford
JSON-konverterer

BASE64

Base64-kodet tekst

Base64 er en koding, definert i RFC 4648, som gjør om vilkårlige binærdata til en streng med 64 trygge teksttegn. Den brukes til å bygge inn bilder i HTML og CSS som data-URI-er, til å legge ved filer i e-post og til å sende binærdata i JSON eller XML. Kodingen kan reverseres fullt ut, men gjør dataene omtrent 33 % større. Base64 er ikke kryptering og gir ingen sikkerhet; hvem som helst kan dekode det.

Komprimering
Tapsfri
Gjennomsiktighet
–
Animasjon
–
Introdusert
–
BASE64-konverterer

JSON kodes som Base64 når en strukturert nyttelast må ligge i ett enkelt strengfelt som ikke tåler rå anførselstegn og linjeskift: en CI-hemmelighet, et Kubernetes-manifest, et content-felt i et API eller en headerverdi.

Spørsmål om JSON til Base64

Er Base64-kodet JSON kryptert?

Nei. Base64 er en koding, og hvem som helst kan dekode den med én kommando. Selve Kubernetes-dokumentasjonen advarer om at Secrets bare er Base64-kodet og lagres ukryptert som standard, så beskytt den kodede strengen på samme måte som den opprinnelige nøkkelen.

Trenger jeg Base64 eller base64url for et token eller en URL?

Standard Base64, slik det skrives her, bruker + og / og fyller ut med =. JWT-er og URL-parametere bruker base64url-alfabetet fra RFC 4648, som bytter inn - og _ og vanligvis fjerner utfyllingen. Erstatt de tre tegnene hvis målet forventer base64url.

Bør jeg minifisere JSON før koding?

Vanligvis ja. Mellomrom, innrykk og linjeskift er bytes som alle andre, og hver 3 bytes blir til 4 tegn i utdata. Hvis du komprimerer en formatert konfigurasjon først, for eksempel med jq -c, blir den kodede strengen tilsvarende kortere.

Hvordan dekoder jeg strengen tilbake til JSON?

På macOS eller Linux kjører du base64 --decode, i PowerShell bruker du [Convert]::FromBase64String, og i en nettleser sender du resultatet av atob gjennom en TextDecoder slik at UTF-8-tegn kommer riktig tilbake.

Hvorfor melder kubectl om ugyldige base64-data?

Verdien under data i et Secret-manifest må være gyldig Base64 på én linje. Feilen betyr vanligvis at et linjeskift har sneket seg inn under innliming, eller at vanlig JSON er lagt under data. Vanlige verdier hører hjemme under stringData, som Kubernetes koder for deg.

Endrer kodingen noe i JSON-filen min?

Nei. Base64 gjør om bytes til tekst og tilbake uten tap, så nøkler, verdier, aksenttegn og til og med en byte order mark først i filen gjenopprettes nøyaktig ved dekoding.