Kodowanie / dekodowanie Base64
Działa w całości w Twojej przeglądarce. Twoje pliki i dane nigdy nie opuszczają Twojego urządzenia.
O tym narzędziu
Base64 zamienia dane binarne na tekst ASCII przy użyciu 64 znaków: A-Z, a-z, 0-9 oraz + i /. Nie szyfruje niczego, więc każdy może to zdekodować. Dobrze za to sprawdza się tam, gdzie trzeba bezpiecznie osadzić dowolne bajty w miejscu przyjmującym wyłącznie tekst, na przykład w payloadach JSON, adresach data:, nagłówkach HTTP Basic Auth czy załącznikach e-mail. Dokładne zasady alfabetu i dopełnienia (paddingu) opisuje RFC 4648.
Wklej tekst, żeby zakodować go do Base64, albo wklej ciąg Base64, żeby go zdekodować.
Czy moje dane są gdzieś wysyłane?
Nie. Wszystko dzieje się lokalnie w przeglądarce, przy użyciu tych samych funkcji kodowania i dekodowania tekstu, które są wbudowane w silnik JavaScript. Nic z tego, co wpiszesz, nie trafia na żaden serwer, dzięki czemu narzędzie można bezpiecznie stosować do haseł, tokenów i innych wrażliwych danych.
Dlaczego dekodowanie czasem się nie udaje?
Dekoder przed dekodowaniem usuwa białe znaki na początku i końcu, bo ciąg Base64 skopiowany z czatu albo pliku konfiguracyjnego często ma przy okazji dodatkowy znak nowej linii albo spację. Poza tym oczekuje standardowego Base64: zwykłego alfabetu i paddingu, a nie wariantu bezpiecznego dla adresów URL, który zamienia +// na -/_. Jeśli wklejony tekst używa tego wariantu albo w ogóle nie jest poprawnym Base64, dekodowanie zakończy się błędem zamiast zwrócić zniekształcony wynik.
Kodowanie z kolei najpierw zamienia tekst na surowe bajty przy użyciu UTF-8 (standardowego sposobu zapisu Unicode jako bajtów), a dopiero potem koduje te bajty do Base64. Właśnie dzięki temu dwuetapowemu procesowi emoji, znaki z ogonkami i alfabety inne niż łaciński wracają po zdekodowaniu w niezmienionej postaci.
Czym różni się Base64 od szyfrowania?
Niczym z wejściowych danych się nie ukrywa. Base64 to kodowanie, nie szyfr: to odwracalny, publicznie znany sposób zapisu bajtów jako tekstu, który każdy z dekoderem Base64, w tym ta sama strona, odczyta bez trudu. Jeśli chcesz coś rzeczywiście ukryć, najpierw to zaszyfruj (przydatne będzie narzędzie do szyfrowania / deszyfrowania AES na tej stronie, również działające w całości po stronie przeglądarki), a Base64 zastosuj dopiero na końcu, jeśli wynik ma być zapisany w postaci czystego tekstu.
Ludzie sięgają po to narzędzie, żeby odczytać dane logowania ukryte w nagłówku Authorization: Basic, sprawdzić zawartość adresu data:, zobaczyć, co faktycznie kryje się w bloku Base64 w pliku konfiguracyjnym albo segmencie tokenu JWT, albo żeby zakodować ciąg dla API wymagającego danych w Base64. Więcej o samym kodowaniu można przeczytać w haśle Base64 na MDN.