Bezpłatne narzędzia

Kodowanie i dekodowanie Base64

Konwerter Base64 koduje tekst do Base64 i dekoduje ciągi z powrotem do czytelnej postaci. Jest przydatny dla programistów, przy testowaniu API, przygotowywaniu fragmentów danych i szybkim sprawdzaniu kodowania.

Bezpłatnie Działa w przeglądarce Bez rejestracji

Konwertuj tekst na standardowy ciąg Base64 lub dekoduj poprawny Base64 z powrotem na tekst. Narzędzie nadaje się do małych fragmentów podczas pracy z API, JSON, konfiguracjami, HTML i logami. Base64 służy do przedstawiania danych binarnych za pomocą znaków tekstowych, a nie do ich ochrony.

Co robi Base64

Komputer przechowuje tekst i pliki jako sekwencje bajtów. Nie każdy kanał transmisji dobrze radzi sobie z dowolnymi bajtami, dlatego Base64 przekształca je w ograniczony zestaw drukowalnych znaków ASCII.

W standardowym alfabecie używane są:

  • litery łacińskie A–Z i a–z;
  • cyfry 0–9;
  • znaki + i /;
  • znak = do uzupełniania na końcu, gdy jest wymagany.

Przykład:

Tekst oryginalny: Polska
Base64: UG9sc2th

Dekodowanie tego ciągu zwraca oryginalną sekwencję bajtów, a następnie narzędzie próbuje wyświetlić ją jako tekst.

Base64 to nie szyfrowanie

Zakodowany ciąg może zdekodować każda osoba lub program. Base64 nie ma klucza tajnego, hasła ani mechanizmu ograniczania dostępu.

Dlatego Base64 nie może być używany jako ochrona dla:

  • haseł;
  • kluczy API i tokenów;
  • danych osobowych;
  • prywatnych dokumentów;
  • informacji płatniczych;
  • tajemnic konfiguracyjnych.

Kodowanie zmienia reprezentację danych, ale nie czyni ich poufnymi. Termin «odszyfrować Base64» jest technicznie nieprecyzyjny: poprawnie jest «zdekodować».

Base64 nie kompresuje danych

Każde trzy oryginalne bajty zwykle przekształcają się w cztery znaki Base64. Dokładny rozmiar wyniku bez podziału wierszy można oszacować następująco:

4 × ceil(liczba oryginalnych bajtów / 3)

Dla wystarczająco dużych danych objętość wzrasta o około jedną trzecią. Dla krótkich ciągów względny wzrost może być większy z powodu zaokrągleń i znaków =.

Base64 stosuje się nie w celu oszczędności miejsca, ale gdy dane muszą być bezpiecznie przesyłane przez format tekstowy. Jeśli rozmiar jest ważny, najpierw stosuje się odpowiednią kompresję, a następnie Base64 – tylko gdy transport rzeczywiście tego wymaga.

Dlaczego kodowanie tekstu ma znaczenie

Base64 koduje bajty, a nie abstrakcyjne litery. Przed kodowaniem tekst musi zostać przekształcony na bajty, najczęściej w UTF-8.

Ten sam ciąg w UTF-8, UTF-16 lub innym kodowaniu da różne wyniki Base64. Podczas dekodowania bajty również muszą być odczytane we właściwym kodowaniu. Jeśli zamiast polskich liter pojawiają się nieczytelne znaki, prawdopodobną przyczyną jest niezgodność kodowań, a nie błąd algorytmu Base64.

Czym Base64url różni się od zwykłego Base64

W adresach URL, ciasteczkach i niektórych tokenach znaki +, / i = mogą być niewygodne. Dlatego RFC 4648 definiuje wariant bezpieczny dla URL – Base64url.

Standardowy Base64 Base64url
+ -
/ _
uzupełnienie = zwykle zachowywane uzupełnienie często pomijane, jeśli jego długość jest znana

Są to różne warianty alfabetu. Ciągu Base64url nie zawsze można bez przygotowania przekazać do dekodera standardowego Base64. W razie potrzeby zastępuje się znaki i przywraca brakujące uzupełnienie do długości będącej wielokrotnością czterech.

Segmenty JWT są zwykle przedstawiane w Base64url, a nie w standardowym Base64. Ich dekodowanie umożliwia odczytanie nagłówka i ładunku, ale nie potwierdza autentyczności tokena: w tym celu należy zweryfikować podpis kryptograficzny.

Gdzie Base64 jest rzeczywiście stosowany

API tekstowe i formaty danych

Niektóre interfejsy wymagają umieszczenia danych binarnych lub specjalnego ciągu wewnątrz JSON, XML lub innej wiadomości tekstowej. Base64 umożliwia przesyłanie bajtów bez konfliktów ze znakami kontrolnymi transportu.

MIME i poczta elektroniczna

Base64 może być używany do przedstawiania załączników i zawartości w wiadomościach MIME. Format konkretnego e-maila zawiera również nagłówki i zasady podziału wierszy, więc sam ciąg Base64 nie wystarczy do utworzenia pełnej wiadomości.

Data URL

Mały zasób można osadzić w HTML lub CSS:

data:image/png;base64,iVBORw0KGgo...

Przed Base64 podaje się typ MIME. Osadzanie zwiększa rozmiar tekstu i pozbawia zasób zwykłego oddzielnego buforowania, więc nie nadaje się do wszystkich plików.

Podstawowe uwierzytelnianie HTTP

W nagłówku Basic Auth nazwa użytkownika i hasło są łączone i kodowane w Base64. Nie chroni to samych danych uwierzytelniających; bezpieczeństwo transmisji zależy od HTTPS.

Logi i debugowanie

Dekodowanie pomaga zrozumieć zawartość małego fragmentu z odpowiedzi API, dziennika lub konfiguracji. Ale nie należy wklejać produkcyjnych tajemnic ani danych osobowych do zewnętrznych narzędzi online.

Dlaczego ciąg nie jest dekodowany

Najczęstsze przyczyny:

  • ciąg jest obcięty;
  • używane są znaki Base64url - i _, a dekoder oczekuje + i /;
  • brakuje wymaganych znaków uzupełnienia =;
  • wewnątrz znajdują się spacje, podziały wierszy lub obce znaki;
  • skopiowano prefiks Data URL wraz z danymi;
  • oryginalne bajty nie są tekstem;
  • po dekodowaniu stosowane jest nieprawidłowe kodowanie tekstowe.

Ścisłe zachowanie dekoderów jest różne: niektóre ignorują spacje lub przywracają uzupełnienie, inne odrzucają ciąg. W przypadku integracji należy kierować się wymaganiami używanej biblioteki i protokołu.

Tekst i pliki to różne zadania

To narzędzie jest przeznaczone do tekstu. Choć każdy plik technicznie można przedstawić w Base64, dla dużego obrazu, archiwum lub dokumentu wygodniej jest użyć kodera plików lub biblioteki programistycznej. Próba otwarcia dowolnych bajtów binarnych jako tekstu może dać nieczytelny wynik lub utratę danych podczas kopiowania.

Bezpieczeństwo podczas korzystania z konwertera online

Nie wstawiaj rzeczywistych haseł, kluczy prywatnych, tokenów dostępowych, ciasteczek autoryzacyjnych, danych osobowych ani poufnych dokumentów. Nawet gdy przetwarzanie jest deklarowane jako wykonywane w przeglądarce, bezpieczną praktyką jest używanie lokalnych narzędzi do danych tajnych i zastępowanie wartości przykładami testowymi.

Najczęściej zadawane pytania

Czy można odtworzyć oryginalny tekst z Base64?

Tak, jeśli ciąg nie jest uszkodzony, użyto prawidłowego wariantu Base64, a oryginalne bajty rzeczywiście reprezentują tekst w znanym kodowaniu.

Dlaczego na końcu znajduje się jeden lub dwa znaki =?

Jest to uzupełnienie, które wyrównuje ostatnią grupę do wymaganej długości. Nie jest częścią oryginalnego tekstu.

Dlaczego dwa programy dają różne ciągi dla tego samego tekstu?

Mogą używać różnych kodowań tekstowych, Base64 lub Base64url, dołączać BOM lub inaczej traktować końcowy podział wiersza.

Czy można przechowywać hasło w Base64?

Nie. Base64 jest łatwo odwracalny i nie jest przeznaczony do bezpiecznego przechowywania haseł. Do przechowywania haseł na serwerze stosuje się specjalne algorytmy haszowania haseł z solą i odpowiednimi parametrami kosztu.

Czy zdekodowany JWT oznacza, że token jest autentyczny?

Nie. Dekodowanie tylko wyświetla dane. Autentyczność i integralność są potwierdzane przez oddzielną weryfikację podpisu zgodnie z zasadami systemu.

Powiązane narzędzia: Generator haseł; Edytor tekstu; Diffchecker.

Oficjalny standard:

Potrzebujesz pełnego audytu SEO, narzędzi do zwiększania widoczności w AI i automatyzacji?

Wyszukiwarki się zmieniają: klasyczne pozycje już nie wystarczają; liczy się także widoczność strony w odpowiedziach AI, jakość treści, przewagi konkurencji i skuteczność reklam. Labrika analizuje stronę pod kątem ponad 400 czynników i daje dziesiątki narzędzi do wzrostu: audyt SEO, analizę AI, pisarza AI, pozycje w wyszukiwarce i AI, analizę kampanii PPC, konkurencji oraz monitoring zmian na stronie. Uruchom Labrikę i sprawdź, czy Twoja strona jest gotowa konkurować nie tylko w Google, ale także w nowych asystentach AI i wyszukiwarkach.
Zarejestruj się