Jak używać
- Wybierz „Koduj”, aby zamienić tekst na z-base-32, lub „Dekoduj”, aby zamienić z-base-32 z powrotem na tekst.
- Pozostaw wybrany wariant z-base-32 i upewnij się, że „Dopełnienie” jest wyłączone, ponieważ ten format go nie używa.
- Wpisz lub wklej dane wejściowe albo otwórz plik. Wynik aktualizuje się na bieżąco podczas pisania.
- Skopiuj wynik lub pobierz go jako plik.
Czym jest z-base-32?
z-base-32 to kodowanie Base32 zaprojektowane przez Zooko Wilcox-O'Hearna tak, aby ludziom łatwiej było je czytać, zapisywać i wymawiać. Mechanizm jest taki sam jak w Base32 według RFC 4648: każdy znak niesie 5 bitów, a 5 bajtów daje 8 znaków. Wyróżnia je alfabet:
ybndrfg8ejkmcpqxot1uwisza345h769
Składa się wyłącznie z małych liter i cyfr oraz pomija znaki 0, 2, l i v, które łatwo pomylić z o, z, 1 i u. Kolejność znaków również została zmieniona, więc wynik z-base-32 w niczym nie przypomina standardowego Base32 tych samych bajtów i dekoder RFC 4648 nie jest w stanie go odczytać.
Dopełnienia nie ma: długość danych wynika z długości ciągu. Specyfikacja pozwala też kodować ciągi bitów, które nie składają się z pełnych bajtów, jeśli obie strony uzgodnią ich długość; to narzędzie zawsze pracuje na pełnych bajtach.
Gdzie używa się z-base-32
- OpenPGP Web Key Directory (WKD). Aby opublikować klucz pod ustalonym adresem URL (well-known), lokalną część adresu e-mail zamienia się na małe litery i haszuje algorytmem SHA-1, a 20-bajtowy skrót koduje się w z-base-32 jako 32-znakową nazwę pliku.
- ZRTP. Krótki ciąg uwierzytelniający, który dwaj rozmówcy odczytują sobie na głos, aby wykryć atak typu man-in-the-middle, może być przedstawiony jako Base32 z alfabetem z-base-32 (RFC 6189).
- Lightning Network. Oprogramowanie węzłów, takie jak lnd i Core Lightning, zwraca podpisane wiadomości jako ciągi z-base-32.
Spośród innych formatów przyjaznych dla ludzi warto porównać Crockford Base32, który zachowuje kolejność cyfr i wybacza pomyłki przy wpisywaniu, oraz Base58, który jest krótszy, ale rozróżnia wielkość liter.
Specyfikacja
| Alfabet | ybndrfg8ejkmcpqxot1uwisza345h769 |
|---|---|
| Rozmiar wyniku | 8 znaków na 5 bajtów (160%) |
| Dopełnienie | Brak |
| Standard | z-base-32 (Zooko Wilcox-O'Hearn) |
| Rozróżnia wielkość liter | Nie |
Przykłady
| Wejście (UTF-8) | Wyjście |
|---|---|
Hello, World! | jb1sa5dxfoofq551pt1nn |
Base64.is | ejozg3jsgozg1ha |
你好 | h164b3pfzw |
Najczęściej zadawane pytania
Czy z-base-32 to to samo co Base32?
Nie. Używa takiego samego grupowania po 5 bitów jak Base32 według RFC 4648, ale innego alfabetu ze zmienioną kolejnością znaków i nie stosuje dopełnienia. Ciąg z-base-32 trzeba dekodować dekoderem z-base-32.
Czy z-base-32 rozróżnia wielkość liter?
Alfabet składa się z małych liter, a wynik zawsze jest zapisywany małymi literami. Ten dekoder akceptuje też dane wejściowe zapisane wielkimi literami i przed dekodowaniem zamienia je na małe.
Co, jeśli mój ciąg kończy się znakami =?
z-base-32 nie używa dopełnienia, ale jeśli ciąg kończy się znakami =, dekoder po prostu je ignoruje.
Jak uzyskać skrót WKD?
--with-wkd-hash.