UltKit

JSON na Base64-enkodeerder

Verander 'n JSON-lêer in 'n enkele reël Base64-teks wat veilig deur omgewingsveranderlikes, YAML-velde en API-liggame beweeg, waar aanhalingstekens, krulhakies en reëlbreuke moeilikheid sou veroorsaak. As u dit dekodeer, kry u presies dieselfde grepe terug.

Data-omskakelaar

of los CSV, TSV, TXT …-lêers hier ·

Maks. 95 MB per lêer· Tot 20 lêers· Uitgevee na 30 minute

Uitvoer

Lêers word op ons bedieners verwerk en na 30 minute uitgevee.

Hoe om hierdie nutsding te gebruik

  1. 1

    Laai die JSON-lêer op

    Voeg 'n .json-, .jsonl- of .ndjson-lêer by, soos 'n diensrekeningsleutel of 'n opstelling. Tot 20 lêers per bondel, 95 MB elk.

  2. 2

    Besluit oor die voorvoegsel

    Gewone Base64 is ingestel. Skakel Data URI-voorvoegsel onder Gevorderde instellings net aan as die teks in 'n HTML- of CSS-attribuut gaan wat 'n data:-URL verwag.

  3. 3

    Enkodeer en kopieer

    Druk Skakel om na Base64-teks, laai die resultaat af en plak die string in jou geheimwinkel, manifes of versoekliggaam.

Om JSON as Base64 te enkodeer verander nie die data nie; dit pak dit as gewone letters en syfers oor sodat dit deur plekke kan gaan wat krulhakies, aanhalingstekens en reëlbreuke sou vernietig.

Waarom 'n JSON-lêer as Base64 enkodeer

Die tipiese geval is 'n magtigingslêer. 'n Wolkverskaffer gee jou 'n diensrekeningsleutel as 'n JSON-lêer, en jou CI-stelsel, gasheerkontrolepaneel of houerplatform bied net 'n eenreël-teksveld vir geheime. Om die rou JSON te plak breek by die eerste nuwe reël of die eerste ongeëskapeerde aanhalingsteken. As Base64 geënkodeer, is dieselfde sleutel een ononderbroke string wat die toepassing met opstart dekodeer.

Base64 self kom van e-pos af: MIME, in 1996 in RFC 2045 gedefinieer, het dit gebruik sodat aanhangsels deur posbedieners kon gaan wat net 7-bis-teks gedra het. Die alfabet is later in 2006 in RFC 4648 op sy eie gestandaardiseer. Die koste is grootte, want elke 3 grepe word 4 karakters. Vir beelde en ander binêre lêers doen Beeld na Base64 dieselfde enkodering met 'n ooreenstemmende data-URI. As die ontvangende hulpmiddel YAML eerder as 'n Base64-veld lees, is JSON na YAML dalk al wat jy nodig het.

JSON na Base64-voorbeeld

Kompakte JSON {"env":"prod","retries":3} en sy Base64-enkodering
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Waar Base64-geënkodeerde JSON verwag word

Plekke wat JSON slegs as Base64 aanvaar
OrganisasieVereisteBron
Kubernetes SecretsElke waarde onder data moet Base64 wees; koppel 'n JSON-sleutellêer deur dit eers te enkodeer.kubernetes.io
GitHub REST APIDie eindpunt vir die skep of opdatering van lêerinhoud verwag die lêer, ook 'n .json-lêer, as Base64 in content.docs.github.com
JSON Web Tokens (RFC 7519)Die JSON-kop en -eise word elk met base64url geënkodeer en met kolletjies verbind.—
E-posaanhangsels (MIME)'n .json-aanhangsel word met Base64-oordragenkodering gestuur sodat dit deur teks-alleen-posbedieners kom.—
Base64Base 64-enkodering · RFC 4648-enkodering
'n Manier om enige grepe met 64 veilige karakters te skryf: A–Z, a–z, 0–9, + en /, met = as aanvulling. Elke groep van 3 invoergrepe word 4 uitvoerkarakters, so die teks is ongeveer 'n derde langer as die lêer. Dit is omkeerbaar en dra geen sleutel nie, wat dit 'n vervoerformaat maak, nie 'n sekuriteitsmaatreël nie.

Feite oor die JSON- en Base64-formaat

JSON

JavaScript Object Notation (JSON)

JSON is 'n ligte teksformaat vir gestruktureerde data, in die vroeë 2000's deur Douglas Crockford gewild gemaak en as RFC 8259 en ECMA-404 gestandaardiseer. Dit stel objekte, skikkings, stringe, getalle, booleaanse waardes en null met eenvoudige, leesbare sintaksis voor. Dit is die verstekformaat vir web-API's, opstellingslêers en data-uitruiling tussen programme in byna elke programmeertaal. Dit het nie ingeboude kommentaar, datums of skemas nie, en groot geneste lêers is sonder 'n kyker moeilik om te lees.

Kompressie
–
Deursigtigheid
–
Animasie
–
Bekendgestel
2001 · Douglas Crockford
JSON-omskakelaar

BASE64

Base64-geënkodeerde teks

Base64 is 'n enkodering, in RFC 4648 gedefinieer, wat enige binêre data in 'n string van 64 veilige tekskarakters omskakel. Dit word gebruik om beelde as data-URI's in HTML en CSS in te bed, om lêers aan e-pos aan te heg, en om binêre data in JSON of XML te stuur. Enkodering is ten volle omkeerbaar, maar maak data ongeveer 33% groter. Base64 is nie enkripsie nie en bied geen sekuriteit nie; enigeen kan dit dekodeer.

Kompressie
Verliesloos
Deursigtigheid
–
Animasie
–
Bekendgestel
–
BASE64-omskakelaar

JSON word as Base64 geënkodeer wanneer 'n gestruktureerde vrag binne 'n enkele stringveld moet ry wat nie rou aanhalingstekens en nuwe reëls kan hanteer nie: 'n CI-geheim, 'n Kubernetes-manifes, 'n API se content-veld of 'n kopwaarde.

Vrae oor JSON na Base64

Is Base64-geënkodeerde JSON geënkripteer?

Nee. Base64 is 'n enkodering, en enigiemand kan dit met een opdrag dekodeer. Die Kubernetes-dokumentasie self waarsku dat Secrets by verstek net Base64-geënkodeer en ongeënkripteer gestoor word, so beskerm die geënkodeerde string presies soos jy die oorspronklike sleutel sou beskerm.

Het ek Base64 of base64url nodig vir 'n token of 'n URL?

Standaard Base64, soos hier geskryf, gebruik + en / en vul met = aan. JWT's en URL-parameters gebruik die base64url-alfabet uit RFC 4648, wat - en _ inruil en gewoonlik die aanvulling weglaat. Vervang daardie drie karakters as jou teiken base64url verwag.

Moet ek die JSON verklein voordat ek dit enkodeer?

Gewoonlik wel. Spasies, inkeping en reëlbreuke is grepe soos enige ander, en elke 3 grepe word 4 karakters uitvoer. As jy 'n mooi-geformateerde opstelling eers kompak maak, byvoorbeeld met jq -c, word die geënkodeerde string dienooreenkomstig korter.

Hoe dekodeer ek die string terug na JSON?

Op macOS of Linux voer base64 --decode uit, in PowerShell gebruik [Convert]::FromBase64String, en in 'n blaaier gee die resultaat van atob deur 'n TextDecoder sodat UTF-8-karakters korrek terugkom.

Waarom meld kubectl ongeldige base64-data?

Die waarde onder data in 'n Secret-manifes moet geldige Base64 op een reël wees. Die fout beteken gewoonlik 'n reëlbreuk het tydens plak ingesluip, of gewone JSON is onder data geplaas. Gewone waardes hoort onder stringData, wat Kubernetes vir jou enkodeer.

Verander enkodering iets binne my JSON?

Nee. Base64 skakel grepe sonder verlies na teks en terug, so sleutels, waardes, karakters met aksente en selfs 'n grepievolgordemerk aan die begin van die lêer word met dekodering presies herstel.