> encode | decode | safe <

// Kodowanie Base32 dla czytelnej, jednoznacznej reprezentacji

[SIMPLE]

Łatwy w użyciu

Prosty interfejs do natychmiastowego kodowania/odkodowywania Base32.

[SECURE]

Przetwarzanie lokalne

Wszystkie konwersje odbywają się w przeglądarce. Dane nie opuszczają urządzenia.

[READABLE]

Czytelny

Używa tylko A‑Z i 2‑7, bez niejednoznacznych znaków.

>> informacje techniczne

Jak działa Base32:

Base32 używa 32 znaków (A‑Z, 2‑7) do reprezentacji danych binarnych. Zaprojektowany, aby był czytelny i pozbawiony niejednoznaczności.

Przykład:

"Hello" → JBSWY3DPEBLW64TMMQ======

Dlaczego używać Base32:

  • >Czytelna reprezentacja
  • >Bez niejednoznacznych znaków (0,1,O,I)
  • >Niewrażliwy na wielkość liter
  • >Dobry dla danych wpisywanych przez użytkownika
  • >Krótszy niż Base16, dłuższy niż Base64

>> często zadawane pytania

Czym jest kodowanie Base32?

Base32 to system w bazie 32, który używa 32 symboli (A‑Z, 2‑7) do czytelnej reprezentacji danych binarnych.

Kiedy używać Base32?

Gdy potrzeba czytelnego, jednoznacznego kodowania: tokeny autoryzacyjne, klucze API, identyfikatory użytkownika.

Dlaczego nie używa wszystkich znaków?

0, 1, O i I są pomijane, aby uniknąć pomyłek między podobnymi znakami.

Co oznaczają znaki równości?

To znaki dopełnienia (padding), dzięki którym długość jest wielokrotnością 8 — zapewnia to poprawne dekodowanie.

// Krótka ściąga

WejścieBase32Base64
fMY======Zg==
foMZXQ====Zm8=
fooMZXW6===Zm9v
foobMZXW6YQ=Zm9vYg==
foobaMZXW6YTBZm9vYmE=
foobarMZXW6YTBOI======Zm9vYmFy

// Przykłady kodu

CLI      echo -n foobar | base32
Python   base64.b32encode(b'foobar')   /   base64.b32decode(s)
Go       base32.StdEncoding.EncodeToString([]byte("foobar"))
Java     new Base32().encodeToString(bytes)   // commons-codec
Node.js  npm i hi-base32   // no built-in

>> Więcej pytań

P: Czym różni się Base32 od Base64 i Base16?

O: Wszystkie trzy pochodzą z RFC 4648 i różnią się liczbą bitów na znak: Base16 = 4 bity (narzut 100%), Base32 = 5 bitów (60%), Base64 = 6 bitów (33%). Base32 jest dłuższy, ale czytelny i niewrażliwy na wielkość liter.

P: Czy dekodowanie Base32 rozróżnia wielkość liter?

O: Nie. RFC 4648 definiuje alfabet wielkimi literami, ale dekodery powinny traktować małe litery tak samo. To narzędzie zamienia dane wejściowe na wielkie litery przed dekodowaniem, więc jbswy3dp i JBSWY3DP dają ten sam wynik.

P: Gdzie Base32 jest używany w praktyce?

O: Głównie w sekretach TOTP/2FA (Google Authenticator, Authy), adresach onion Tor v3 (56 znaków) oraz identyfikatorach w systemach nierozróżniających wielkości liter, np. niektórych systemach plików czy etykietach DNS.