UltKit

JSON naar Base64 encoder

Zet een JSON-bestand om in één regel Base64-tekst die heel blijft in omgevingsvariabelen, YAML-velden en API-body's, waar aanhalingstekens, accolades en regeleinden problemen zouden geven. Decoderen levert precies dezelfde bytes op.

Dataconverter

of sleep CSV, TSV, TXT …-bestanden hierheen ·

Max. 95 MB per bestand· Tot 20 bestanden· Verwijderd na 30 minuten

Uitvoer

Bestanden worden op onze servers verwerkt en na 30 minuten verwijderd.

Zo gebruikt u deze tool

  1. 1

    Upload het JSON-bestand

    Voeg een .json-, .jsonl- of .ndjson-bestand toe, zoals een service account-sleutel of een configuratiebestand. Maximaal 20 bestanden per batch, elk tot 95 MB.

  2. 2

    Kies het voorvoegsel

    Gewone Base64 is ingesteld. Zet Data-URI-voorvoegsel onder Geavanceerde instellingen alleen aan als de tekst in een HTML- of CSS-attribuut komt dat een data:-URL verwacht.

  3. 3

    Coderen en kopiëren

    Klik op Converteren naar Base64 text, download het resultaat en plak de string in uw secret store, manifest of request body.

JSON als Base64 coderen verandert de gegevens niet. Ze worden herverpakt als gewone letters en cijfers, zodat ze kunnen reizen door plekken die accolades, aanhalingstekens en regeleinden zouden verminken.

Waarom een JSON-bestand als Base64 coderen

Het typische geval is een bestand met inloggegevens. Een cloudprovider geeft u een service account-sleutel als JSON-bestand, en uw CI-systeem, hostingdashboard of containerplatform biedt voor secrets alleen een tekstveld van één regel. Ruwe JSON plakken gaat mis bij de eerste nieuwe regel of het eerste niet-geëscapete aanhalingsteken. Als Base64 gecodeerd is dezelfde sleutel één ononderbroken string die de applicatie bij het opstarten decodeert.

Base64 zelf komt uit e-mail: MIME, in 1996 vastgelegd in RFC 2045, gebruikte het zodat bijlagen mailservers konden passeren die alleen 7-bits tekst doorgaven. Het alfabet werd in 2006 apart gestandaardiseerd in RFC 4648. De prijs is bestandsgrootte, want elke 3 bytes worden 4 tekens. Voor afbeeldingen en andere binaire bestanden doet Afbeelding naar Base64 dezelfde codering met een passende data-URI. Leest de ontvangende tool YAML in plaats van een Base64-veld, dan is JSON naar YAML misschien genoeg.

Voorbeeld: JSON naar Base64

Compacte JSON {"env":"prod","retries":3} en de Base64-codering ervan
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Waar JSON in Base64 wordt verwacht

Plekken die JSON alleen als Base64 accepteren
OrganisatieVereisteBron
Kubernetes SecretsElke waarde onder data moet Base64 zijn; om een JSON-sleutelbestand te mounten codeert u het eerst.kubernetes.io
GitHub REST APIHet endpoint voor het aanmaken of bijwerken van bestandsinhoud verwacht het bestand, ook een .json-bestand, als Base64 in content.docs.github.com
JSON Web Tokens (RFC 7519)De JSON-header en de claims worden elk met base64url gecodeerd en met punten aan elkaar gekoppeld.—
E-mailbijlagen (MIME)Een .json-bijlage wordt met Base64-transfercodering verzonden, zodat ze mailservers passeert die alleen tekst aankunnen.—
Base64Base 64-codering · RFC 4648-codering
Een manier om willekeurige bytes te schrijven met 64 veilige tekens: A–Z, a–z, 0–9, + en /, met = als opvulling. Elke groep van 3 invoerbytes wordt 4 uitvoertekens, dus de tekst is ongeveer een derde langer dan het bestand. Het is omkeerbaar en heeft geen sleutel, dus het is een transportformaat en geen beveiligingsmaatregel.

Feiten over JSON en Base64

JSON

JavaScript Object Notation

JSON is een lichtgewicht tekstformaat voor gestructureerde gegevens, begin jaren 2000 gepopulariseerd door Douglas Crockford en gestandaardiseerd als RFC 8259 en ECMA-404. Het weergeeft objecten, arrays, tekenreeksen, getallen, booleans en null met eenvoudige, leesbare syntaxis. Het is het standaardformaat voor web-API's, configuratiebestanden en gegevensuitwisseling tussen apps in vrijwel elke programmeertaal. Het heeft geen ingebouwde opmerkingen, datums of schema's, en grote geneste bestanden zijn zonder viewer moeilijk te lezen.

Compressie
–
Transparantie
–
Animatie
–
Geïntroduceerd
2001 · Douglas Crockford
JSON-converter

BASE64

Base64-gecodeerde tekst

Base64 is een codering, vastgelegd in RFC 4648, die willekeurige binaire data omzet in een reeks van 64 veilige tekentekens. Het wordt gebruikt om afbeeldingen als data-URI's in HTML en CSS in te sluiten, om bestanden aan e-mail te hechten en om binaire data te versturen in JSON of XML. Coderen is volledig omkeerbaar, maar maakt data ongeveer 33% groter. Base64 is geen versleuteling en biedt geen beveiliging; iedereen kan het decoderen.

Compressie
Zonder verlies
Transparantie
–
Animatie
–
Geïntroduceerd
–
BASE64-converter

JSON wordt als Base64 gecodeerd wanneer een gestructureerde payload in één stringveld moet passen dat geen ruwe aanhalingstekens en nieuwe regels accepteert: een CI-secret, een Kubernetes-manifest, het content-veld van een API of een headerwaarde.

Vragen over JSON naar Base64

Is JSON in Base64 versleuteld?

Nee. Base64 is een codering en iedereen kan die met één opdracht terugdraaien. De Kubernetes-documentatie waarschuwt zelf dat Secrets standaard alleen Base64-gecodeerd en onversleuteld worden opgeslagen. Bescherm de gecodeerde string dus precies zoals u de originele sleutel zou beschermen.

Heb ik Base64 of base64url nodig voor een token of URL?

Standaard Base64, zoals hier, gebruikt + en / en vult aan met =. JWT's en URL-parameters gebruiken het base64url-alfabet uit RFC 4648, dat - en _ gebruikt en meestal de opvulling weglaat. Vervang deze drie tekens als uw doelsysteem base64url verwacht.

Moet ik de JSON eerst minificeren voordat ik codeer?

Meestal wel. Spaties, inspringing en regeleinden zijn bytes zoals alle andere, en elke 3 bytes worden 4 tekens uitvoer. Als u een opgemaakte configuratie eerst compact maakt, bijvoorbeeld met jq -c, wordt de gecodeerde string overeenkomstig korter.

Hoe decodeer ik de string terug naar JSON?

Op macOS of Linux gebruikt u base64 --decode, in PowerShell [Convert]::FromBase64String, en in een browser haalt u het resultaat van atob door een TextDecoder, zodat UTF-8-tekens correct terugkomen.

Waarom meldt kubectl illegal base64 data?

De waarde onder data in een Secret-manifest moet geldige Base64 op één regel zijn. De fout betekent meestal dat er bij het plakken een regeleinde is binnengeslopen, of dat gewone JSON onder data is gezet. Gewone waarden horen onder stringData; Kubernetes codeert die voor u.

Verandert het coderen iets in mijn JSON?

Nee. Base64 zet bytes verliesvrij om naar tekst en terug, dus sleutels, waarden, letters met accenten en zelfs een byte order mark aan het begin van het bestand worden bij het decoderen exact hersteld.