Koder tekstu Base64

Krok 1 / 333%

Dane wejściowe

Base64 przenosi tekst, także ze znakami spoza ASCII, przez systemy oczekujące drukowalnego ASCII. To lokalne narzędzie przeglądarkowe koduje tekst UTF-8 do Base64 lub dekoduje Base64 do poprawnego tekstu UTF-8 zgodnie z RFC 4648, z opcjonalnym alfabetem bezpiecznym dla URL i dopełnieniem. Do danych binarnych użyj dekodera plików lub danych binarnych.

Jak działa kodowanie tekstu Base64

  1. 1

    Wklej tekst

    UTF-8 jest domyślną interpretacją: każdy znak najpierw staje się swoją sekwencją bajtów UTF-8.

  2. 2

    Wybierz kierunek

    Koduj tekst do Base64 albo dekoduj Base64 do tekstu.

  3. 3

    Wybierz wariant

    Standardowy (`A-Z a-z 0-9 + /`) albo URL-safe (`+` i `/` zastąpione przez `-` i `_`). Podczas kodowania włącz albo wyłącz dopełnienie (`=`).

  4. 4

    Skopiuj wynik

    Użyj wyniku tylko tam, gdzie format oczekuje Base64 lub Base64URL bez dopełnienia. Samo kodowanie tekstu nie tworzy ani nie sprawdza pełnego JWT czy nagłówka uwierzytelniania.

Przykład krok po kroku

Kodowanie słowa café:

  1. Kodowanie UTF-8: 63 61 66 C3 A9 (5 bajtów; é zajmuje dwa bajty w UTF-8)
  2. Podział na porcje 3-bajtowe: 63 61 66 | C3 A9
  3. Każde 3 bajty stają się 4 znakami Base64: Y 2 F m | w 6 k =
  4. Wynik: Y2Fmw6k=

Base64 URL-safe

Standardowy Base64 używa + i /, które mają zarezerwowane znaczenia w URL-ach i nazwach plików:

  • + może zmienić się w spację podczas dekodowania danych zapytania w stylu formularza
  • / rozdziela segmenty ścieżki URL

Base64 URL-safe (RFC 4648 sekcja 5) zamienia je na - i _. To narzędzie zachowuje dopełnienie =, chyba że wyłączysz je osobno podczas kodowania. Wariant jest używany w segmentach JWT i kontekstach bezpiecznych dla nazw plików.

Dopełnienie (padding)

Wyjścia Base64 są grupowane w bloki 4-znakowe. Jeśli długość wejścia nie jest wielokrotnością 3 bajtów, ostatni blok jest dopełniany =, aby wypełnić 4 znaki:

Bajty wejścia Wyjście Dopełnienie
1 4 ==
2 4 =
3 4 (brak)

Niektóre systemy (na przykład segmenty JWT) usuwają dopełnienie. To narzędzie przyjmuje zarówno poprawnie dopełnione, jak i poprawne wejście bez dopełnienia; inne odbiorniki mogą wymagać dopełnienia.

Typowe błędy

  • Traktowanie Base64 jak szyfrowania. To nie jest szyfrowanie. Każdy może zdekodować Base64; niczego nie ukrywa.
  • Zapominanie o UTF-8. Kodowanie “café” jako Latin-1 daje inne bajty niż UTF-8. Jeśli nie znasz oczekiwań odbiorcy, trzymaj się UTF-8.
  • Akceptowanie białych znaków bez zezwolenia. RFC 4648 domyślnie nakazuje odrzucać znaki spoza alfabetu. Włącz opcję przyjmującą spacje, tabulatory, podziały wiersza i wysunięcia strony ASCII tylko wtedy, gdy format odwołujący się do Base64, na przykład MIME, wyraźnie je dopuszcza.

Najczęściej zadawane pytania

Nie. To kodowanie, nie szyfrowanie. “aGVsbG8=” dekoduje się do “hello” w każdym dekoderze Base64. Jeśli potrzebujesz tajności, najpierw zaszyfruj, a potem zakoduj szyfrogram Base64 do transportu.

Base64 przedstawia każde 3 bajty wejściowe jako 4 znaki wyjściowe, więc zakodowana postać rośnie o około 33%. Dopełnienie może dodać najwyżej dwa znaki.

Base64URL używa - i _ zamiast + i /. Dopełnienie jest osobnym wyborem; wyłącz je, jeśli format docelowy wymaga wartości bez dopełnienia.

Standardowy Base64 należy kodować procentowo jako wartość zapytania. Base64URL unika + i /; wyłącz także dopełnienie, jeśli format docelowy nie dopuszcza =.

Powiązane narzędzia