Anleitung
- Wählen Sie „Kodieren“, um Text in z-base-32 umzuwandeln, oder „Dekodieren“, um z-base-32 wieder in Text umzuwandeln.
- Lassen Sie bei „Variante“ z-base-32 ausgewählt und achten Sie darauf, dass die „Auffüllung“ ausgeschaltet ist, da das Format keine 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 z-base-32?
z-base-32 ist eine Base32-Kodierung, die Zooko Wilcox-O'Hearn so entworfen hat, dass Menschen sie leichter lesen, schreiben und aussprechen können. Die Funktionsweise entspricht Base32 nach RFC 4648: Jedes Zeichen trägt 5 Bit, und aus 5 Bytes werden 8 Zeichen. Der Unterschied liegt im Alphabet:
ybndrfg8ejkmcpqxot1uwisza345h769
Es enthält keine Großbuchstaben und lässt 0, 2, l und v weg, die leicht mit o, z, 1 und u verwechselt werden. Außerdem sind die Zeichen umsortiert, sodass die z-base-32-Ausgabe völlig anders aussieht als Standard-Base32 derselben Bytes und von einem Decoder nach RFC 4648 nicht gelesen werden kann.
Es gibt keine Auffüllung: Die Länge der Daten ergibt sich aus der Länge des Strings. Die Spezifikation kann auch Bitfolgen kodieren, die keine ganzen Bytes sind, sofern sich beide Seiten über die Länge einig sind; dieses Tool arbeitet immer mit ganzen Bytes.
Wo z-base-32 verwendet wird
- OpenPGP Web Key Directory (WKD). Um einen Schlüssel unter einer festgelegten, bekannten URL zu veröffentlichen, wird der lokale Teil der E-Mail-Adresse in Kleinbuchstaben umgewandelt und mit SHA-1 gehasht. Der 20 Byte lange Hashwert wird per z-base-32 zu einem 32 Zeichen langen Dateinamen kodiert.
- ZRTP. Die kurze Authentifizierungszeichenfolge (Short Authentication String), die sich zwei Gesprächspartner gegenseitig vorlesen, um einen Man-in-the-Middle-Angriff zu erkennen, kann als Base32 mit dem z-base-32-Alphabet dargestellt werden (RFC 6189).
- Lightning Network. Node-Software wie lnd und Core Lightning gibt signierte Nachrichten als z-base-32-Strings zurück.
Als weitere menschenfreundliche Formate bieten sich Crockford Base32 an, das die Ziffern in ihrer Reihenfolge belässt und Tippfehler verzeiht, sowie Base58, das kürzer ist, aber zwischen Groß- und Kleinschreibung unterscheidet.
Spezifikation
| Alphabet | ybndrfg8ejkmcpqxot1uwisza345h769 |
|---|---|
| Ausgabegröße | 8 Zeichen pro 5 Bytes (160 %) |
| Auffüllung | Keine |
| Standard | z-base-32 (Zooko Wilcox-O'Hearn) |
| Groß-/Kleinschreibung relevant | Nein |
Beispiele
| Eingabe (UTF-8) | Ausgabe |
|---|---|
Hello, World! | jb1sa5dxfoofq551pt1nn |
Base64.is | ejozg3jsgozg1ha |
你好 | h164b3pfzw |
Häufig gestellte Fragen
Ist z-base-32 dasselbe wie Base32?
Nein. Es verwendet dieselbe 5-Bit-Gruppierung wie Base32 nach RFC 4648, aber ein anderes, umsortiertes Alphabet und keine Auffüllung. Ein z-base-32-String muss mit einem z-base-32-Decoder dekodiert werden.
Unterscheidet z-base-32 zwischen Groß- und Kleinschreibung?
Das Alphabet besteht aus Kleinbuchstaben, und die Ausgabe erfolgt immer in Kleinbuchstaben. Dieser Decoder akzeptiert auch Eingaben in Großbuchstaben und wandelt sie vor dem Dekodieren in Kleinbuchstaben um.
Was ist, wenn mein String mit =-Zeichen endet?
z-base-32 verwendet keine Auffüllung, doch wenn ein String mit =-Zeichen endet, ignoriert der Decoder sie einfach.
Wie erhalte ich einen WKD-Hashwert?
--with-wkd-hash auch direkt ausgeben.