Narzędzia
PL

Czym jest kodowanie Base64?

Base64 to sposób zapisu dowolnych danych binarnych przy użyciu zaledwie 64 drukowalnych znaków. Wyjaśniamy, jak działa, po co powstał i kiedy warto (a kiedy nie) go używać.

Base64 w jednym zdaniu

Base64 to zdefiniowane w RFC 4648 kodowanie danych binarnych do postaci tekstowej, które każde 3 bajty danych przedstawia jako 4 znaki z alfabetu A–Z, a–z, 0–9, + i /.

Po co istnieje Base64

Wiele systemów powstało z myślą wyłącznie o tekście – to m.in. poczta e-mail (SMTP), JSON, XML, atrybuty HTML, adresy URL i terminale. Surowe dane binarne, takie jak obrazy czy pliki PDF, mogą zawierać bajty, które te systemy zmieniłyby lub odrzuciły. Base64 zamienia dane na bezpieczne, drukowalne znaki, dzięki czemu docierają one do celu w niezmienionej postaci.

Jak działa kodowanie Base64 – krok po kroku

  1. Weź bajty wejściowe: M, a, n = 77, 97, 110.
  2. Zapisz je jako 24 bity: 01001101 01100001 01101110.
  3. Podziel bity na cztery grupy po 6 bitów: 010011 010110 000101 101110 = 19, 22, 5, 46.
  4. Odszukaj każdą liczbę w alfabecie: 19 = T, 22 = W, 5 = F, 46 = u.

W ten sposób Man zamienia się w TWFu. Dekodowanie polega po prostu na wykonaniu tych kroków w odwrotnej kolejności.

Alfabet Base64

WartościZnaki
0–25A–Z
26–51a–z
52–610–9
62+ (wariant URL-safe: -)
63/ (wariant URL-safe: _)
dopełnienie=

Co oznacza dopełnienie =

Gdy długość danych wejściowych nie jest wielokrotnością 3, ostatnia grupa zostaje uzupełniona i oznaczona znakiem =: Ma zamienia się w TWE=, a M w TQ==. W poprawnym ciągu dopełnienie nigdy nie pojawia się w środku.

Odmiany Base64

Base64 to nie szyfrowanie

Base64 niczego nie ukrywa: każdy może go natychmiast zdekodować. Często bywa mylony z zabezpieczeniem, bo wynik wygląda na losowy ciąg znaków. Do ochrony poufnych danych używaj prawdziwego szyfrowania, np. AES, a Base64 – wyłącznie do przesyłania zaszyfrowanych bajtów w postaci tekstu.

Narzut rozmiaru

Zakodowany ciąg dla n bajtów ma długość 4 × ⌈n / 3⌉ znaków, czyli jest o około 33% dłuższy od oryginału. Przy łamaniu wierszy MIME rośnie o kolejne 2–3%.

Gdzie używa się Base64

Najczęściej zadawane pytania

Czy Base64 to to samo co szyfrowanie lub haszowanie?

Nie. Odwrócenie szyfrowania wymaga klucza, haszowania nie da się odwrócić w ogóle, a Base64 może zdekodować każdy.

Skąd nazwa Base64?

Stąd, że kodowanie korzysta z alfabetu liczącego 64 znaki, więc każdy znak niesie 6 bitów informacji (26 = 64).

Jak rozpoznać, że ciąg jest zakodowany w Base64?

Zawiera wyłącznie znaki A–Z, a–z, 0–9, +, / (lub - i _), jego długość jest zwykle wielokrotnością 4 i może kończyć się jednym lub dwoma znakami =. Najszybciej sprawdzisz to, wklejając go do naszego dekodera.

Ostatnia aktualizacja: