Przejdź do treści

Kodowanie i dekodowanie Base32

Konwertuj tekst do Base32 zgodnie z RFC 4648 i z powrotem, z base32hex i paddingiem.

Wejście
Wynik

Kodowanie i dekodowanie Base32

Base32 zapisuje dane binarne za pomocą 32 jednoznacznych znaków — liter od A do Z i cyfr od 2 do 7. Dzięki temu sprawdza się tam, gdzie Base64 zawodzi: działa w systemach, które nie rozróżniają wielkości liter, nie używa znaków problematycznych w adresach URL i nazwach plików i łatwo ją odczytać na głos. Najczęściej spotkasz ją jako tajny klucz aplikacji do uwierzytelniania dwuskładnikowego, w rekordach DNS oraz w identyfikatorach URI typu ni:.

Wklej tekst, aby go zakodować, albo wklej ciąg Base32, aby go odkodować — kierunek zmienisz przełącznikiem trybu. Narzędzie działa zgodnie z RFC 4648 i najpierw zamienia tekst na bajty UTF-8, więc polskie znaki i emoji kodują się i odkodowują poprawnie. Do wyboru są cztery alfabety: standardowy, base32hex (0–9 i A–V), Crockford Base32 oraz z-base-32.

Crockford Base32 używa znaków 0–9 i A–Z bez liter I, L, O, U. Stworzono go z myślą o kodach, które ludzie czytają na głos i przepisują: ignoruje myślniki, a przy dekodowaniu odczytuje I i L jako 1, a O jako 0. Z-base-32 przestawia alfabet tak, by najłatwiejsze do odczytu i zapisu znaki znalazły się na początku, a wynik zapisuje małymi literami. Żaden z tych wariantów nie używa dopełnienia znakiem =.

Dopełnienie znakami = wypełnia wynik standardowy i base32hex do wielokrotności ośmiu znaków, jak wymaga RFC. Niektóre systemy, w tym sekrety TOTP, je pomijają, dlatego można je wyłączyć jednym polem wyboru. Dekodowanie jest wyrozumiałe: przyjmuje małe litery, brakujące dopełnienie i spacje, a przy danych, które nie są Base32, wyświetla czytelny komunikat.

Wszystko działa w przeglądarce, więc nic z wklejonego tekstu nie trafia na serwer — to szczególnie ważne przy odkodowywaniu sekretu z aplikacji uwierzytelniającej. Wynik możesz skopiować, pobrać jako plik .txt albo wkleić z powrotem do pola wejściowego, aby łączyć konwersje.

Częste pytania

Do czego służy Base32?
Głównie do danych, które ludzie czytają, przepisują lub przechowują w systemach nierozróżniających wielkości liter: tajnych kluczy uwierzytelniania dwuskładnikowego (TOTP), rekordów DNS, hashy plików. Alfabet 32 znaków unika znaków łatwych do pomylenia.
Czym Base32 różni się od Base64?
Base32 używa 32 znaków zamiast 64, więc wynik jest o około 20% dłuższy niż w Base64. W zamian nie rozróżnia wielkości liter i nie zawiera +, / ani =, co jest bezpieczniejsze w URL-ach, nazwach plików i przy dyktowaniu.
Jakie warianty Base32 są obsługiwane?
Cztery alfabety: standardowy (RFC 4648), base32hex (0–9, a potem A–V, dzięki czemu zachowana jest kolejność bajtów przy sortowaniu), Crockford (bez I, L, O, U; przy dekodowaniu I i L są odczytywane jako 1, O jako 0, a myślniki są ignorowane) oraz z-base-32 (małe litery, uporządkowane z myślą o ludziach). Do kodowania i dekodowania wybierz ten sam.
Czy potrzebuję dopełnienia =?
Ścisły RFC 4648 dopełnia wynik znakami = do wielokrotności ośmiu znaków, ale w praktyce wiele zastosowań, na przykład sekrety TOTP, je pomija. Przy kodowaniu dopełnienie można włączyć lub wyłączyć dla alfabetu standardowego i base32hex; Crockford i z-base-32 go nigdy nie używają. Dekodowanie akceptuje obie postacie.
Czy mój tekst jest gdzieś wysyłany?
Nie. Kodowanie i dekodowanie działają wyłącznie w twojej przeglądarce, a wklejony tekst nigdy nie opuszcza urządzenia — bezpiecznie nawet dla kluczy z aplikacji uwierzytelniających.