Ein Bild, das als lange Buchstabenfolge in eine Seite eingebettet ist, eine Adresse, in der Leerzeichen zu %20 werden, ein Anmelde-Token aus drei durch Punkte getrennten Blöcken: Base64, URL-Kodierung und JWT begegnen Entwicklern täglich. Sie sehen sich ähnlich, werden leicht verwechselt, und keines davon ist eine Verschlüsselung. Hier steht, was sie wirklich tun und wie Sie sie sicher dekodieren.
Base64: Bytes druckbar machen
Base64 stellt Binärdaten (ein Bild, ein PDF) nur mit 64 unkritischen Zeichen dar: A-Z, a-z, 0-9, + und /. Es kommt überall dort zum Einsatz, wo ein Kanal nur Text akzeptiert: E-Mail-Anhänge, in CSS oder HTML eingebettete Bilder (Präfix data:), Token, manche Konfigurationsdateien.
Das Prinzip: 3 Bytes (24 Bit) werden in 4 Gruppen zu je 6 Bit zerlegt, jede wird durch ein Zeichen dargestellt. So wird „Man“ zu „TWFu“ und „Hello“ zu „SGVsbG8=“ (das Gleichheitszeichen füllt den letzten unvollständigen Block auf). Rechnerisch bedeutet das: Base64 macht aus 3 Bytes immer 4 Zeichen, also +33 % Volumen. Ein als data: eingebettetes 1-MB-Bild wiegt rund 1,33 MB.
Noch einmal klar gesagt: Base64 ist keine Verschlüsselung. Jeder dekodiert es in Sekunden. Verstecken Sie damit niemals ein Passwort.
Kodieren und Dekodieren mit Base64-Kodierer und -Dekodierer
- Wählen Sie Kodieren oder Dekodieren, dann fügen Sie Text ein oder ziehen eine Datei hinein (höchstens 24 MB: Base64 fügt ein Drittel hinzu, darüber würde der Tab träge).
- Text wird vor dem Kodieren in UTF-8 umgewandelt: Umlaute, arabische Schrift und Emojis kommen unbeschädigt zurück, anders als bei einem nackten btoa in JavaScript.
- Beim Dekodieren werden beide Alphabete (Standard und „URL-sicher“ mit - und _ statt + und /), vorhandene oder fehlende =, Zeilenumbrüche und ein Präfix data:… automatisch akzeptiert.
- Sind die dekodierten Bytes kein Text, erkennt das Werkzeug den Typ (PNG, JPEG, PDF, ZIP …), zeigt Bilder in der Vorschau und bietet die Datei zum Download an.
- Ausgabeoptionen: URL-sichere Variante, ohne Füllzeichen (=), MIME-Zeilenumbrüche, Präfix data:.
URL-Kodierung (Prozentkodierung)
Eine Webadresse darf nur bestimmte Zeichen enthalten. Alle anderen werden durch ein „%“ mit zwei Hexadezimalziffern für die UTF-8-Bytes ersetzt. Das „é“ wird zu %C3%A9, das „ü“ zu %C3%BC, der arabische Buchstabe „م“ zu %D9%85 und das Emoji „😀“ zu %F0%9F%98%80 (vier Bytes). Ein Leerzeichen wird zu %20 oder in einem klassischen HTML-Formular zu +.
| Art | Kodiert | Verwendung |
|---|---|---|
| Komponente | Alles außer unkritischen Zeichen | Der Wert eines Parameters (?name=wert). |
| Ganze URL | Behält / ? # & = | Eine vollständige, bereits strukturierte Adresse. |
| Formular | Leerzeichen als + | Der Inhalt eines HTML-Formulars. |
Beim Dekodieren wird ein Fehler („100%“ oder „%ZZ“) lokalisiert und erklärt; der tolerante Modus dekodiert, was gültig ist, und lässt den Rest stehen. Enthält das Ergebnis noch %XX-Folgen, weist das Werkzeug auf doppelte Kodierung hin und bietet an, erneut zu dekodieren. Die Karte „URL analysieren“ zerlegt eine Adresse in Schema, Benutzername, Host, Pfad und Parameter.
Häufige Fehler
- Base64 für Verschlüsselung halten und ein Passwort darin „verstecken“.
- Einen Wert zweimal kodieren und %2520 statt %20 erhalten.
- Die Kodierung „Ganze URL“ auf einen Parameterwert anwenden, der dann ein unkodiertes & oder = behält und die Anfrage zerstört.
- Dem Inhalt eines JWT trauen, ohne die Signatur zu prüfen.
- Umlaute verlieren, weil die Kodierfunktion nicht über UTF-8 geht.
Ehrliche Grenzen
- Die Anzeige eines sehr langen Ergebnisses wird gekürzt, Kopieren und Download sind aber vollständig.
- Das Prüfen eines JWT braucht den Schlüssel: Ohne ihn ist nur Lesen möglich.
- Keiner der drei Mechanismen schützt sensible Daten: Dafür braucht es echte Verschlüsselung.
Häufige Fragen
Warum macht Base64 Daten größer?
Weil es 3 Bytes mit 4 Zeichen darstellt: Das Volumen wächst um ein Drittel (33 %), plus eventuelle Füllzeichen am Ende.
Ist Base64 sicher, um Informationen zu verbergen?
Nein. Es hat keinen Schlüssel und lässt sich sofort dekodieren. Es ist keine Verschlüsselung.
Wird mein JWT an einen Server geschickt?
Nein. Token, Geheimnis und Schlüssel bleiben in Ihrem Browser.
Was bedeutet %20 in einer Adresse?
Es ist ein kodiertes Leerzeichen: Das Zeichen mit dem Code 0x20 wird als % mit seinem Hexadezimalwert geschrieben.
Wie dekodiere ich ein Base64-Bild?
Fügen Sie die Zeichenfolge (mit oder ohne Präfix data:) in das Werkzeug ein: Es erkennt den Dateityp, zeigt die Vorschau und bietet den Download an.