Erklärung
So funktioniert Base64-Kodierer
Base64 ist ein Kodierungsverfahren (definiert in RFC 4648), das Bytefolgen in eine Folge aus 64 druckbaren ASCII-Zeichen (A-Z, a-z, 0-9, +, /) umwandelt. Es kodiert jeweils 3 Bytes (24 Bit) in 4 Zeichen (je 6 Bit) und verwendet = als Padding am Ende.
Typische Anwendungen sind E-Mail-Anhänge (MIME, RFC 2045), Data-URLs für Bilder (data:image/png;base64,...), JWT-Tokens, PEM-Zertifikate, HTTP Basic Authentication, JSON-APIs und Konfigurationsdateien. Dieses Werkzeug verarbeitet dabei nur UTF-8-Text, keine Dateien oder beliebigen Binärdaten. Die Ausgabe benötigt vier Zeichen je angefangenen drei Eingabebytes; Padding beeinflusst kurze Eingaben.
Wichtig: Base64 ist keine Verschlüsselung. Die Kodierung kann von jedem ohne Schlüssel rückgängig gemacht werden. Base64-kodierte Daten sind ebenso lesbar wie der Originaltext — nur in anderem Format dargestellt.
Typische Fehler
- Base64 mit Verschlüsselung verwechseln: Base64 bietet keinerlei Sicherheit. Jeder kann den kodierten Text ohne Schlüssel dekodieren. Für Datenschutz echte Verschlüsselung (AES, ChaCha20) verwenden.
- URL-unsichere Zeichen vergessen: Standard-Base64 enthält + und /, die in URLs Sonderbedeutung haben. Für URL-Kontexte Base64URL (mit - und _) oder URL-Encoding verwenden.
- Textzeichen mit Bytes verwechseln: Unicode-Zeichen können mehrere UTF-8-Bytes belegen; die Ausgabelänge lässt sich daher nicht aus der JavaScript-Zeichenanzahl ableiten.
- Sensible Daten in Base64 „verstecken": Passwörter, API-Keys oder persönliche Daten in Base64 zu kodieren bietet keinen Schutz. In Logs, URLs oder Konfigurationen sind sie trivial lesbar.
Grenzen dieses Tools
- Kein Datenschutz — Base64 ist lesbar, nicht verschlüsselt.
- Vier Ausgabezeichen je angefangenen drei Eingabebytes; Padding beeinflusst kurze Eingaben.
- Nur Text-Ein-/Ausgabe — keine Datei-Kodierung (Bilder, PDFs etc.).
- Kein Base64URL-Modus (RFC 4648 §5) — nur Standard-Base64 mit + und /.
- Dekodierung von Binärdaten (nicht-UTF-8) schlägt fehl, da nur Text-Ausgabe unterstützt wird.
Quellen
- RFC 4648: The Base16, Base32, and Base64 Data Encodings. IETF, 2006. Definiert Standard-Base64 und Base64URL.
- RFC 2045: MIME Part One — Format of Internet Message Bodies. Definiert Base64 für E-Mail-Anhänge (Content-Transfer-Encoding).
- WHATWG HTML Standard: Definition von btoa() und atob() für Base64-Umwandlungen im Browser.
- WHATWG Encoding Standard: Definition von TextEncoder, UTF-8 und fataler TextDecoder-Dekodierung.