z-base-32-koder og -dekoder

Konverter tekst, hex-byte eller filer til z-base-32 og tilbake. Alfabetet med små bokstaver utelater tegn som lett forveksles, og utdataene trenger ingen utfylling.

Kjører helt i nettleseren din. Ingenting lastes opp.

Slik bruker du verktøyet

  1. Velg Kode for å gjøre tekst om til z-base-32, eller Dekode for å gjøre z-base-32 om til tekst igjen.
  2. La varianten z-base-32 være valgt, og sørg for at Utfylling er slått av, siden formatet ikke bruker det.
  3. Skriv eller lim inn inndataene, eller åpne en fil. Resultatet oppdateres mens du skriver.
  4. Kopier resultatet eller last det ned som en fil.

Hva er z-base-32?

z-base-32 er en Base32-koding utformet av Zooko Wilcox-O'Hearn for å være lettere for mennesker å lese, skrive og uttale. Mekanismen er den samme som i RFC 4648 Base32: Hvert tegn bærer 5 bit, og 5 byte blir 8 tegn. Det er alfabetet som skiller den ut:

ybndrfg8ejkmcpqxot1uwisza345h769

Det består bare av små bokstaver og sifre og utelater 0, 2, l og v, som lett forveksles med o, z, 1 og u. Tegnene er dessuten stokket om, så z-base-32-utdata ligner ikke i det hele tatt på standard Base32 av de samme bytene og kan ikke leses av en RFC 4648-dekoder.

Det finnes ingen utfylling: Lengden på dataene følger av lengden på strengen. Spesifikasjonen kan også kode bitstrenger som ikke består av hele byte, når begge parter er enige om lengden; dette verktøyet arbeider alltid med hele byte.

Hvor z-base-32 brukes

  • OpenPGP Web Key Directory (WKD). For å publisere en nøkkel på en velkjent URL gjøres den lokale delen av e-postadressen om til små bokstaver og hashes med SHA-1, og hashen på 20 byte kodes med z-base-32 til et filnavn på 32 tegn.
  • ZRTP. Den korte autentiseringsstrengen som to samtaleparter leser høyt for å avsløre et mellommannsangrep (man-in-the-middle), kan vises som Base32 med z-base-32-alfabetet (RFC 6189).
  • Lightning Network. Nodeprogramvare som lnd og Core Lightning returnerer signerte meldinger som z-base-32-strenger.

For andre menneskevennlige formater kan du sammenligne Crockford Base32, som beholder sifrene i rekkefølge og tilgir skrivefeil, og Base58, som er kortere, men skiller mellom store og små bokstaver.

Spesifikasjon

Alfabetybndrfg8ejkmcpqxot1uwisza345h769
Utdatastørrelse8 tegn per 5 byte (160 %)
UtfyllingIngen
Standardz-base-32 (Zooko Wilcox-O'Hearn)
Skiller store og små bokstaverNei

Eksempler

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

Ofte stilte spørsmål

Er z-base-32 det samme som Base32?

Nei. Den bruker den samme grupperingen i 5 bit som RFC 4648 Base32, men et annet, omstokket alfabet og ingen utfylling. En z-base-32-streng må dekodes med en z-base-32-dekoder.

Skiller z-base-32 mellom store og små bokstaver?

Alfabetet består av små bokstaver, og utdataene har alltid små bokstaver. Denne dekoderen godtar også inndata med store bokstaver og gjør dem om til små før dekodingen.

Hva om strengen min slutter med =-tegn?

z-base-32 bruker ikke utfylling, men hvis en streng slutter med =-tegn, ignorerer dekoderen dem rett og slett.

Hvordan får jeg en WKD-hash?
WKD trenger SHA-1-hashen av den lokale delen av adressen med små bokstaver, og den beregner ikke dette verktøyet. Beregn hashen et annet sted, lim den inn her som hex-inndata og kod den. GnuPG kan også skrive ut WKD-hashen direkte med valget --with-wkd-hash.