Skip to main content
CheckTown
Dev-Tools

Base32-Kodierung: Ein kompletter Leitfaden

Veröffentlicht 5 Min. Lesezeit
In diesem Artikel

Was ist Base32?

Base32 ist ein in RFC 4648 definiertes Binär-zu-Text-Codierungsverfahren, das Binärdaten mit einem Satz von 32 Zeichen (A-Z und 2-7) darstellt. Anders als Base64 verwendet Base32 nur Großbuchstaben und Ziffern, was es unabhängig von der Groß-/Kleinschreibung und für die manuelle Eingabe benutzerfreundlich macht.

Base32 erzeugt eine längere Ausgabe als Base64 (rund 60 % Overhead gegenüber 33 %), doch der Kompromiss besteht in besserer Lesbarkeit und Kompatibilität mit Systemen, die die Groß-/Kleinschreibung ignorieren oder Sonderzeichen wie + und / nicht zulassen.

So funktioniert die Base32-Codierung

Base32 wandelt jede Gruppe von 5 Byte (40 Bit) in 8 Base32-Zeichen (je 5 Bit) um und füllt mit =-Zeichen auf, wenn die Eingabelänge kein Vielfaches von 5 ist.

  • 5-Bit-Gruppierung — die Eingabe-Bytes werden in 5-Bit-Blöcke aufgeteilt, von denen jeder auf eines der 32 Zeichen des Alphabets A-Z, 2-7 abgebildet wird
  • Auffüllen (Padding) — =-Zeichen füllen die Ausgabe auf, damit die Länge stets ein Vielfaches von 8 Zeichen ist
  • Varianten — Base32Hex verwendet 0-9, A-V statt A-Z, 2-7, um die Sortierreihenfolge der codierten Daten zu erhalten

Kostenlos testen – keine Registrierung erforderlich

Base32 codieren oder decodieren →

Wann Base32 sinnvoll ist

Base32 wird gegenüber Base64 in Szenarien bevorzugt, in denen Groß-/Kleinschreibung, Lesbarkeit oder Zeichenbeschränkungen eine Rolle spielen.

  • TOTP-Secrets — Authenticator-Apps wie Google Authenticator verwenden Base32-codierte Secrets, weil Nutzer sie unter Umständen manuell eingeben müssen
  • Crockford-Codierung — eine Base32-Variante, die mehrdeutige Zeichen (I, L, O, U) entfernt, um übersichtlichere, für Menschen lesbare Bezeichner zu erhalten
  • DNS und Dateisysteme — Base32 funktioniert in Umgebungen, die die Groß-/Kleinschreibung ignorieren, in denen das gemischtschriftliche Alphabet von Base64 zu Kollisionen führen würde

Häufig gestellte Fragen

Was ist der Unterschied zwischen Base32 und Base64?

Base32 verwendet 32 Zeichen (A-Z, 2-7) und erzeugt eine etwa 60 % größere Ausgabe, während Base64 64 Zeichen (A-Z, a-z, 0-9, +, /) mit rund 33 % Overhead nutzt. Base32 ist unabhängig von der Groß-/Kleinschreibung und vermeidet Sonderzeichen, wodurch es sich besser für die manuelle Eingabe und für Systeme eignet, die die Groß-/Kleinschreibung ignorieren.

Warum verwenden Authenticator-Apps Base32 statt Base64?

Authenticator-Apps verwenden Base32, weil Nutzer den geheimen Schlüssel gelegentlich manuell eingeben müssen. Das Alphabet von Base32 mit ausschließlich Großbuchstaben vermeidet Verwechslungen zwischen ähnlich aussehenden Zeichen (etwa dem kleinen L und der Ziffer 1) und funktioniert zuverlässig, wenn zwischen Systemen kopiert wird, die die Groß-/Kleinschreibung ignorieren.

Was ist Base32Hex und wann sollte ich es verwenden?

Base32Hex (auch base32hex oder Extended Hex genannt) verwendet die Zeichen 0-9 und A-V anstelle des Standardalphabets A-Z, 2-7. Es erhält bei der Codierung die lexikografische Sortierreihenfolge der ursprünglichen Binärdaten, was für die Datenbankindizierung und sortierte Datenstrukturen nützlich ist.

Verwandte Tools