Curious TechieDev Toolbox
Alle Leitfäden/Codierung & Kryptographie8 min read

Umfassender Leitfaden zur Base64-Kodierung

Erfahren Sie, wie der 6-Bit-Binär-zu-Text-Algorithmus funktioniert, was URL-sichere Varianten sind und warum Base64 keine Verschlüsselung ist.

Wichtigste Erkenntnisse
  • Base64 ist ein durch RFC 4648 standardisiertes Binär-zu-Text-Kodierungsverfahren.
  • 3 Bytes (24 Bits) werden in 4 Zeichen zu je 6 Bits umgewandelt (+~33% Datenvolumen).
  • Base64 ist KEINE Verschlüsselung; die Daten können von jedem sofort dekodiert werden.
  • URL-sicheres Base64 ersetzt + durch - und / durch _.

Historische digitale Kommunikationskanäle wie E-Mail (SMTP) wurden für 7-Bit-ASCII-Text entwickelt. Um beliebige 8-Bit-Binärdaten (Bilder, Anhänge, digitale Signaturen) fehlerfrei zu transportieren, wurde die Base64-Kodierung geschaffen.

1. Was ist Base64?

Base64 ist ein durch RFC 4648 spezifiziertes Kodierungsverfahren. Es bildet beliebige Bytefolgen auf 64 druckbare ASCII-Zeichen ab: Großbuchstaben (A-Z), Kleinbuchstaben (a-z), Ziffern (0-9) sowie + und /.

2. Die mathematische 3-zu-4-Byte-Logik

Der Algorithmus fasst je 3 Bytes (24 Bits) zusammen und unterteilt sie in 4 Segmente zu je 6 Bits (2^6 = 64 Zustände), die jeweils als Index in der 64-Zeichen-Tabelle dienen:

3 Eingangsbytes: [01001101] [01100001] [01101110] (24 Bits = "Man")
4 Ausgangsblöcke: [010011] [010110] [000101] [101110]
Base64-Index: 19 22 5 46
Base64-Ausgabe: T W F u => "TWFu"

3. Warum Gleichheitszeichen (=) als Auffüllung nötig sind

Ist die Bytezahl nicht durch 3 teilbar, werden Null-Bits angefügt und ein oder zwei Gleichheitszeichen (=) als Padding angehängt, damit der Empfänger die ursprüngliche Bytelänge exakt rekonstruieren kann.

4. URL-sichere Base64-Varianten

Standard-Base64 nutzt + und /, die in URLs reserviert sind. In URL-safe Base64 (JWTs, OAuth) wird + durch - und / durch _ ersetzt, meist ohne das =-Padding.

5. Der Mythos der "Base64-Verschlüsselung"

Base64 ist keine Verschlüsselung. Es existiert kein geheimer Schlüssel. Jeder kann eine Base64-Zeichenkette sofort dekodieren. Nutzen Sie Base64 niemals zum Schutz von Passwörtern oder Zugangsdaten.