UltKit

JSON in Base64 kodieren

Wandeln Sie eine JSON-Datei in eine einzige Zeile Base64-Text um, die in Umgebungsvariablen, YAML-Feldern und API-Bodys funktioniert, wo Anführungszeichen, geschweifte Klammern und Zeilenumbrüche Probleme machen würden. Beim Dekodieren erhalten Sie exakt dieselben Bytes zurück.

Daten-Konverter

oder CSV, TSV, TXT …-Dateien hierher ziehen ·

Max. 95 MB pro Datei· Bis zu 20 Dateien· Gelöscht nach 30 Minuten

Ausgabe

Dateien werden auf unseren Servern verarbeitet und nach 30 Minuten gelöscht.

So verwenden Sie dieses Tool

  1. 1

    JSON-Datei hochladen

    Fügen Sie eine .json-, .jsonl- oder .ndjson-Datei hinzu, zum Beispiel einen Service-Account-Schlüssel oder eine Konfiguration. Bis zu 20 Dateien pro Stapel, je 95 MB.

  2. 2

    Präfix festlegen

    Eingestellt ist reines Base64. Aktivieren Sie Data-URI-Präfix unter Erweiterte Einstellungen nur, wenn der Text in ein HTML- oder CSS-Attribut gehört, das eine data:-URL erwartet.

  3. 3

    Kodieren und kopieren

    Klicken Sie auf In Base64-Text konvertieren, laden Sie das Ergebnis herunter und fügen Sie den String in Ihren Secret Store, Ihr Manifest oder Ihren Request-Body ein.

Wenn Sie JSON als Base64 kodieren, ändern sich die Daten nicht. Sie werden als einfache Buchstaben und Ziffern neu verpackt und können so Stellen passieren, an denen geschweifte Klammern, Anführungszeichen und Zeilenumbrüche beschädigt würden.

Warum eine JSON-Datei in Base64 kodieren

Der typische Fall ist eine Zugangsdaten-Datei. Ein Cloud-Anbieter stellt Ihnen einen Service-Account-Schlüssel als JSON-Datei aus, doch Ihr CI-System, Ihr Hosting-Dashboard oder Ihre Container-Plattform bietet für Secrets nur ein einzeiliges Textfeld. Das rohe JSON einzufügen scheitert am ersten Zeilenumbruch oder am ersten nicht maskierten Anführungszeichen. Als Base64 kodiert ist derselbe Schlüssel ein durchgehender String, den die Anwendung beim Start dekodiert.

Base64 selbst stammt aus der E-Mail: MIME, 1996 in RFC 2045 definiert, nutzte es, damit Anhänge Mailserver passieren konnten, die nur 7-Bit-Text übertrugen. Das Alphabet wurde 2006 in RFC 4648 eigenständig standardisiert. Der Preis ist die Größe, denn aus 3 Bytes werden 4 Zeichen. Für Bilder und andere Binärdateien nimmt Bild in Base64 dieselbe Kodierung mit passender Data-URI vor. Liest das Zielsystem YAML statt eines Base64-Feldes, genügt vielleicht JSON in YAML.

Beispiel: JSON in Base64

Kompaktes JSON {"env":"prod","retries":3} und seine Base64-Kodierung
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

Wo Base64-kodiertes JSON erwartet wird

Stellen, die JSON nur als Base64 akzeptieren
OrganisationAnforderungQuelle
Kubernetes SecretsJeder Wert unter data muss Base64 sein; eine JSON-Schlüsseldatei binden Sie ein, indem Sie sie zuerst kodieren.kubernetes.io
GitHub REST APIDer Endpunkt zum Erstellen oder Aktualisieren von Dateiinhalten erwartet die Datei, auch eine .json-Datei, als Base64 in content.docs.github.com
JSON Web Tokens (RFC 7519)Header und Claims im JSON-Format werden jeweils mit base64url kodiert und mit Punkten verbunden.—
E-Mail-Anhänge (MIME)Ein .json-Anhang wird mit Base64-Transferkodierung gesendet, damit er Mailserver passiert, die nur Text unterstützen.—
Base64Base-64-Kodierung · RFC-4648-Kodierung
Eine Methode, beliebige Bytes mit 64 sicheren Zeichen zu schreiben: A–Z, a–z, 0–9, + und /, mit = als Auffüllung. Je 3 Eingabebytes werden zu 4 Ausgabezeichen, der Text ist also etwa ein Drittel länger als die Datei. Die Kodierung ist umkehrbar und enthält keinen Schlüssel. Sie ist daher ein Transportformat und keine Sicherheitsmaßnahme.

JSON und Base64 im Überblick

JSON

JavaScript Object Notation

JSON ist ein schlankes Textformat für strukturierte Daten, in den frühen 2000er-Jahren von Douglas Crockford populär gemacht und als RFC 8259 und ECMA-404 standardisiert. Es stellt Objekte, Arrays, Zeichenketten, Zahlen, Booleans und null in einfacher, lesbarer Syntax dar. Es ist das Standardformat für Web-APIs, Konfigurationsdateien und den Datenaustausch zwischen Anwendungen in nahezu allen Programmiersprachen. Kommentare, Datumstypen und Schemas sind nicht eingebaut, und große verschachtelte Dateien sind ohne Viewer schwer lesbar.

Komprimierung
–
Transparenz
–
Animation
–
Eingeführt
2001 · Douglas Crockford
JSON-Konverter

BASE64

Base64-codierter Text

Base64 ist eine in RFC 4648 definierte Kodierung, die beliebige Binärdaten in eine Zeichenfolge aus 64 sicheren Textzeichen umwandelt. Sie dient dazu, Bilder als Data-URI in HTML und CSS einzubetten, Dateien an E-Mails anzuhängen und Binärdaten in JSON oder XML zu übertragen. Die Kodierung ist vollständig umkehrbar, macht die Daten aber etwa 33 % größer. Base64 ist keine Verschlüsselung und bietet keine Sicherheit; jeder kann es dekodieren.

Komprimierung
Verlustfrei
Transparenz
–
Animation
–
Eingeführt
–
BASE64-Konverter

JSON wird als Base64 kodiert, wenn eine strukturierte Nutzlast in ein einzelnes String-Feld passen muss, das keine rohen Anführungszeichen und Zeilenumbrüche verträgt: ein CI-Secret, ein Kubernetes-Manifest, das content-Feld einer API oder ein Header-Wert.

Fragen zu JSON in Base64

Ist Base64-kodiertes JSON verschlüsselt?

Nein. Base64 ist eine Kodierung, und jeder kann sie mit einem einzigen Befehl dekodieren. Die Kubernetes-Dokumentation selbst warnt, dass Secrets standardmäßig nur Base64-kodiert und unverschlüsselt gespeichert werden. Schützen Sie den kodierten String also genauso wie den ursprünglichen Schlüssel.

Brauche ich für ein Token oder eine URL Base64 oder base64url?

Standard-Base64, wie es hier erzeugt wird, verwendet + und / und füllt mit = auf. JWTs und URL-Parameter nutzen das base64url-Alphabet aus RFC 4648, das stattdessen - und _ einsetzt und meist auf das Padding verzichtet. Ersetzen Sie diese drei Zeichen, wenn Ihr Ziel base64url erwartet.

Sollte ich das JSON vor dem Kodieren minifizieren?

In der Regel ja. Leerzeichen, Einrückungen und Zeilenumbrüche sind Bytes wie alle anderen, und jeweils 3 Bytes werden zu 4 Zeichen Ausgabe. Wenn Sie eine formatierte Konfiguration vorher komprimieren, zum Beispiel mit jq -c, wird der kodierte String entsprechend kürzer.

Wie dekodiere ich die Zeichenkette zurück in JSON?

Unter macOS oder Linux nutzen Sie base64 --decode, in PowerShell [Convert]::FromBase64String, und im Browser übergeben Sie das Ergebnis von atob an einen TextDecoder, damit UTF-8-Zeichen korrekt zurückkommen.

Warum meldet kubectl „illegal base64 data“?

Der Wert unter data in einem Secret-Manifest muss gültiges Base64 in einer Zeile sein. Der Fehler bedeutet meist, dass beim Einfügen ein Zeilenumbruch hineingerutscht ist oder dass reines JSON unter data steht. Reine Werte gehören unter stringData, das Kubernetes für Sie kodiert.

Verändert das Kodieren etwas an meinem JSON?

Nein. Base64 bildet Bytes verlustfrei auf Text und zurück ab. Schlüssel, Werte, Umlaute und sogar eine Byte Order Mark am Dateianfang werden beim Dekodieren exakt wiederhergestellt.