Kodare och avkodare för z-base-32

Konvertera text, hexbyte eller filer till z-base-32 och tillbaka. Alfabetet består av gemener och utelämnar tecken som lätt förväxlas, och utdatan behöver ingen utfyllnad.

Körs helt i din webbläsare. Inget laddas upp.

Så använder du verktyget

  1. Välj Koda för att göra om text till z-base-32, eller Avkoda för att göra om z-base-32 till text.
  2. Behåll varianten z-base-32 och se till att Utfyllnad är avstängd, eftersom formatet inte använder utfyllnad.
  3. Skriv eller klistra in indatan, eller öppna en fil. Resultatet uppdateras medan du skriver.
  4. Kopiera resultatet eller ladda ned det som en fil.

Vad är z-base-32?

z-base-32 är en Base32-kodning som Zooko Wilcox-O'Hearn utformade för att vara lättare för människor att läsa, skriva och uttala. Mekaniken är densamma som i Base32 enligt RFC 4648: varje tecken bär 5 bitar och 5 byte blir 8 tecken. Det som skiljer är alfabetet:

ybndrfg8ejkmcpqxot1uwisza345h769

Det består helt av gemener och utelämnar 0, 2, l och v, som lätt förväxlas med o, z, 1 och u. Tecknen är dessutom omkastade, så utdata i z-base-32 liknar inte alls vanlig Base32 för samma byte och kan inte läsas av en avkodare för RFC 4648.

Det finns ingen utfyllnad: datans längd följer av strängens längd. Specifikationen kan också koda bitsträngar som inte består av hela byte, om båda parter är överens om längden; det här verktyget arbetar alltid med hela byte.

Var z-base-32 används

  • OpenPGP Web Key Directory (WKD). För att publicera en nyckel på en välkänd URL görs den lokala delen av e-postadressen om till gemener och hashas med SHA-1, och det 20 byte långa hashvärdet kodas med z-base-32 till ett filnamn på 32 tecken.
  • ZRTP. Den korta autentiseringssträng som två samtalsparter läser upp för varandra för att upptäcka en mellanhandsattack kan återges som Base32 med alfabetet från z-base-32 (RFC 6189).
  • Lightning Network. Nodprogramvara som lnd och Core Lightning returnerar signerade meddelanden som z-base-32-strängar.

Andra människovänliga format att jämföra med är Crockford Base32, som behåller siffrorna i ordning och förlåter skrivfel, och Base58, som är kortare men skiftlägeskänsligt.

Specifikation

Alfabetybndrfg8ejkmcpqxot1uwisza345h769
Utdatastorlek8 tecken per 5 byte (160 %)
UtfyllnadIngen
Standardz-base-32 (Zooko Wilcox-O'Hearn)
SkiftlägeskänsligNej

Exempel

Indata (UTF-8)Utdata
Hello, World!jb1sa5dxfoofq551pt1nn
Base64.isejozg3jsgozg1ha
你好h164b3pfzw

Vanliga frågor

Är z-base-32 samma sak som Base32?

Nej. Den använder samma gruppering om 5 bitar som Base32 enligt RFC 4648, men ett annat, omkastat alfabet och ingen utfyllnad. En z-base-32-sträng måste avkodas med en avkodare för z-base-32.

Är z-base-32 skiftlägeskänslig?

Alfabetet består av gemener och utdatan skrivs alltid med gemener. Den här avkodaren accepterar även versaler och gör om dem till gemener före avkodningen.

Vad händer om min sträng slutar med likhetstecken?

z-base-32 använder ingen utfyllnad, men om en sträng slutar med likhetstecken ignorerar avkodaren dem helt enkelt.

Hur får jag fram en WKD-hash?
WKD kräver SHA-1-hashen av den lokala delen av adressen omgjord till gemener, och den beräknar det här verktyget inte. Beräkna hashen någon annanstans, klistra in den här som hexindata och koda den. GnuPG kan också skriva ut WKD-hashen direkt med alternativet --with-wkd-hash.