Anleitung
- Wählen Sie „Kodieren“, um Text in Base32 umzuwandeln, oder „Dekodieren“, um Base32 wieder in Text umzuwandeln.
- Wählen Sie die „Variante“. RFC 4648 ist voreingestellt; diese Variante wird für TOTP-Geheimnisse und von den meisten Bibliotheken verwendet.
- Geben Sie die Eingabe ein, fügen Sie sie ein oder klicken Sie auf „Datei öffnen“. Das Ergebnis wird während der Eingabe aktualisiert.
- Kopieren Sie das Ergebnis oder laden Sie es als Datei herunter.
Was ist Base32?
Base32 stellt Binärdaten mit 32 druckbaren Zeichen dar. Jedes Zeichen trägt 5 Bit, sodass aus je 5 Eingabebytes 8 Ausgabezeichen werden. Die Ausgabe ist etwa 60 % größer als die Eingabe und damit weniger kompakt als Base64, doch das Alphabet verzichtet auf Kleinbuchstaben und leicht verwechselbare Symbole.
Das in RFC 4648 definierte Standardalphabet verwendet die Buchstaben A-Z und die Ziffern 2-7. Die Ziffern 0, 1, 8 und 9 fehlen, damit sie nicht mit den Buchstaben O, I und B verwechselt werden. Ist die Eingabelänge kein Vielfaches von 5 Bytes, wird die Ausgabe mit = auf ein Vielfaches von 8 Zeichen aufgefüllt.
Wo Base32 verwendet wird
- Zwei-Faktor-Authentifizierung. TOTP- und HOTP-Geheimnisse in Authenticator-Apps (der Wert
secret=in einemotpauth://-Link) sind Base32-Strings. - Systeme ohne Unterscheidung der Schreibweise. Da das Alphabet nur eine Schreibweise kennt, übersteht Base32 Dateisysteme, DNS-Labels und E-Mail-Adressen, die Groß- und Kleinschreibung ignorieren.
- Von Hand eingegebene Codes. Lizenzschlüssel, Onion-Adressen und kurze Kennungen verwenden Base32, damit sie sich leichter vorlesen und eintippen lassen.
Wenn die Größe wichtiger ist als die Lesbarkeit, ist Base64 kompakter. Für kurze Kennungen ohne verwechselbare Zeichen vergleichen Sie Crockford Base32 und Base58.
Base32-Varianten
| Variante | Alphabet | Typische Verwendung |
|---|---|---|
| RFC 4648 | A-Z 2-7 | TOTP-Geheimnisse, allgemeine Verwendung |
| Base32hex | 0-9 A-V | Sortierreihenfolge entspricht den Rohbytes, DNSSEC NSEC3 |
| Crockford | 0-9 A-Z ohne I, L, O, U | Gut lesbare IDs, ULID |
| z-base-32 | Kleinbuchstaben, umsortiert | Menschenfreundliche Schlüssel, OpenPGP WKD, ZRTP |
Base32 im Programmcode
# Python
import base64
base64.b32encode(b'hello') # kodieren
base64.b32decode('NBSWY3DP') # dekodieren
// Node.js hat kein eingebautes Base32; verwenden Sie ein Paket wie "hi-base32"
// Go (import "encoding/base32")
base32.StdEncoding.EncodeToString(data)
Spezifikation
| Alphabet | A-Z 2-7 |
|---|---|
| Ausgabegröße | 8 Zeichen pro 5 Bytes (160 %) |
| Auffüllung | Mit = auf ein Vielfaches von 8 Zeichen |
| Standard | RFC 4648, Abschnitt 6 |
| Groß-/Kleinschreibung relevant | Nein |
Beispiele
| Eingabe (UTF-8) | Ausgabe |
|---|---|
Hello, World! | JBSWY3DPFQQFO33SNRSCC=== |
Base64.is | IJQXGZJWGQXGS4Y= |
你好 | 4S62BZNFXU====== |
Häufig gestellte Fragen
Unterscheidet Base32 zwischen Groß- und Kleinschreibung?
Das Alphabet nach RFC 4648 ist in Großbuchstaben definiert, dieser Decoder akzeptiert aber auch Eingaben in Kleinbuchstaben. Mit der Option „Kleinbuchstaben“ erhalten Sie eine Ausgabe in Kleinbuchstaben.
Warum endet mein Base32-String mit =-Zeichen?
Die Gleichheitszeichen sind Auffüllung, die den letzten Block auf 8 Zeichen ergänzt. Viele Systeme, darunter die meisten TOTP-Apps, akzeptieren Base32 ohne Auffüllung. Schalten Sie die „Auffüllung“ aus, um sie zu entfernen.
Wie viel größer ist Base32 als die Originaldaten?
Aus je 5 Bytes werden 8 Zeichen, die Base32-Ausgabe ist also etwa 1,6-mal so groß wie die Eingabe. Bei Base64 ist es etwa das 1,33-Fache.
Kann ich mit diesem Tool ein TOTP-Geheimnis dekodieren?
Ja. Fügen Sie das Geheimnis im Tab „Dekodieren“ ein und wählen Sie bei „Ausgabe als“ die Option „Hex“, um die rohen Schlüsselbytes zu sehen. Leerzeichen im Geheimnis werden ignoriert.