Pomoc techniczna
Base64 to nie szyfrowanie: co naprawdę robi i jak dekodować
Base64 to kodowanie, nie szyfrowanie. Dlaczego nie ukrywa haseł, dlaczego rośnie rozmiar i jak je dekodować.
Base64 to kodowanie, nie szyfrowanie. Zamienia dane binarne w formę tekstową, którą systemy nastawione na tekst mogą zapisać lub wysłać.
Kto ma tekst Base64, zwykle może go zdekodować. Nie trzeba hasła ani tajnego klucza.
Nie używaj Base64 do ochrony haseł, kluczy API, tokenów dostępu, prywatnych wiadomości ani innych sekretów. To narzędzie reprezentacji, nie mechanizm bezpieczeństwa.
Jeśli łańcuch wygląda na pomieszany, to nie znaczy, że jest zaszyfrowany. Base64 zmienia tylko sposób zapisu bajtów jako tekstu.
Co Base64 naprawdę robi?
Base64 koduje dane binarne ograniczonym zestawem ASCII: A–Z, a–z, 0–9, + i /. Może pojawić się dopełnienie =, żeby długość wyjścia była wielokrotnością 4. Dopełnienie nie zawsze jest: krótkie wejścia mogą użyć jednego lub dwóch =, a niektóre formaty je pomijają.
Hello
Hello
Base64
SGVsbG8=
Zdekoduj SGVsbG8= i znowu masz Hello. Ta droga w tę i z powrotem nie potrzebuje klucza.
- Dane oryginalne
- Hello
- Koduj Base64
- SGVsbG8=
- Dekoduj Base64
- Hello
Base64 a szyfrowanie: jaka jest różnica?
Base64 służy reprezentacji i zgodności. Nie ukrywa treści. Szyfrowanie służy poufności i używa kryptograficznego materiału klucza. Dekodowanie Base64 to nie deszyfrowanie. Systemy klucza publicznego też używają kluczy; mów „odpowiedni klucz kryptograficzny”, nie „jeden wspólny sekret na każdy rodzaj szyfrowania”. Hashing to trzecia idea: skrót, nie odwracalne kodowanie.
- Kodowanie
- Bez tajnego klucza
- Odwracalne przez każdego
- Szyfrowanie
- Ochrona kryptograficzna
- Do odszyfrowania potrzebny właściwy klucz
Trzy różne zadania:
| Metoda | Główny cel | Potrzebny sekret |
|---|---|---|
| Base64 | Kodować dane jako tekst | Nie |
| Szyfrowanie | Chronić poufność | Tak / materiał klucza |
| Hashing | Jednokierunkowy skrót | Bez deszyfrowania |
Czy Base64 jest bezpieczny?
Base64 samo z siebie nie daje poufności. Tekst może wyglądać nieczytelnie, ale to nie funkcja bezpieczeństwa. Zwykły dekoder przywraca bajty. To nie znaczy, że „Base64 jest niebezpieczny” jako technologia. To zwykłe kodowanie. To nie mechanizm bezpieczeństwa. Bezpieczeństwo zależy od otaczającego systemu i kontroli.
Czy mogę użyć Base64, żeby ukryć hasło lub klucz API?
Nie jako ochronę. Zakodowanie hasła, klucza API, tokenu dostępu lub danych prywatnych w Base64 ich nie chroni. Kto uzyska zakodowany łańcuch, zwykle może go zdekodować. Używaj prawdziwego przechowywania sekretów i szyfrowania, gdy liczy się poufność.
Dlaczego używa się Base64, skoro to nie szyfrowanie?
Systemy oczekujące tekstu często nie przenoszą surowych danych binarnych. Base64 służy do reprezentacji binariów w formatach tekstowych, osadzania małych zasobów binarnych, przenoszenia bajtów kanałami tylko tekstowymi, budowania Data URL, występowania w niektórych kontekstach e-mail/MIME i wypełniania payloadów API, gdy schemat wymaga Base64. API nie używają Base64 „dla bezpieczeństwa”. Używają go dla zgodności.
Dlaczego Base64 powiększa dane?
Standardowe Base64 z dopełnieniem mapuje 3 bajty wejścia na 4 znaki. Długość to 4 × ceil(n / 3), gdzie n to liczba bajtów wejścia. Trzy bajty stają się 4 znakami; sześć — 8. To mniej więcej 33% więcej — około jednej trzeciej — przy dużym surowym payloadzie. Małe wejścia mogą wyglądać inaczej przez dopełnienie: jeden bajt staje się QQ== (4 znaki). Cudzysłowy JSON, prefiks Data URL, kompresja lub dodatkowe kodowanie transportu mogą dalej zmienić zapisany lub wysłany rozmiar. Base64 nie kompresuje danych.
Czym jest Base64URL?
Base64URL to wariant tego samego kodowania bezpieczny dla URL i nazw plików — nie szyfrowanie. + staje się -, / staje się _, a dopełnienie często jest pomijane. Koduj i dekoduj Base64 może kodować i dekodować standardowe Base64 i Base64URL. Reguły dopełnienia zależą od specyfikacji. To narzędzie nie jest dekoderem JWT.
Czy Base64 może kodować obrazy i pliki?
Tak. Obrazy, PDF-y i inne pliki binarne można zamienić w tekstową reprezentację Base64. Base64 nie kompresuje tych plików. Zakodowany tekst zwykle jest większy niż surowe bajty.
Czym jest Data URL Base64?
Data URL może zebrać typ medium, znacznik kodowania i zakodowane bajty w jednym łańcuchu:
data:image/png;base64,...
To wygodne dla małych zasobów. Wkładanie dużego pliku do Data URL nie zawsze jest dobrym pomysłem: łańcuch rośnie, a strony mogą zwalniać. Traktuj to jako kompromis, nie jako domyślne.
Kodowanie, szyfrowanie i hashing
Kodowanie (w tym Base64) służy reprezentacji i jest odwracalne bez sekretu. Szyfrowanie służy poufności i wiąże się z kryptograficznym materiałem klucza. Hashing daje skrót zazwyczaj zaprojektowany jako jednokierunkowy. Długość wyjścia zależy od algorytmu — SHA-256 i SHA-512 nie mają tego samego rozmiaru. Generuj hash może pokazać te skróty; nie szyfruje i nie zastępuje Base64.
Częste błędy z Base64
Traktowanie Base64 jako szyfrowania
Zmienia tylko wygląd bajtów jako tekstu.
Przechowywanie sekretów jako zwykłego Base64
Zakodowaną wartość może zdekodować każdy, kto ją ma.
Zakładanie, że Base64 kompresuje dane
Nie kompresuje. Forma tekstowa zwykle jest większa.
Zapominanie o wzroście rozmiaru
Zaplanuj mniej więcej jedną trzecią więcej przy dużych surowych payloadach.
Mylenie Base64 z Base64URL
Alfabet się różni. Dekoder może odrzucić zły wariant.
Dekodowanie ze złym kodowaniem znaków
Base64 przywraca bajty. Tekst nadal potrzebuje pasującego kodowania, zwykle UTF-8.
Zakładanie, że = zawsze się pojawia
Dopełnienie jest używane, gdy trzeba. Niektóre łańcuchy go nie mają.
Dlaczego tekst Unicode może sprawiać problemy z Base64?
Base64 działa na bajtach, nie na znakach. Tekst trzeba najpierw zamienić na bajty — zwykle UTF-8. Koreański, japoński, arabski i emoji potrzebują tego kroku. Przeglądarkowe btoa() na łańcuchu Unicode może się nie udać. Koduj i dekoduj Base64 koduje bajty UTF-8, więc ten tekst wraca w obie strony. Jeśli dekodujesz złym charsetem, Base64 może być poprawne, a litery i tak wyglądać źle.
Base64 nie daje poufności. Kto ma zakodowaną wartość, zwykle może ją zdekodować. Nie traktuj tekstu o pomieszanym wyglądzie jak chronionego sekretu.
Koduj lub dekoduj Base64 w przeglądarce
NEXNARA Koduj i dekoduj Base64 konwertuje tekst UTF-8 i pliki lokalnie.
Możesz kodować lub dekodować standardowe Base64 i Base64URL, zamienić plik w surowe Base64 albo Data URL i z powrotem zrobić z Base64 lub Data URL pobranie. Nieprawidłowe wejście jest odrzucane zamiast powodować awarię. Spacje są ignorowane; brakujące dopełnienie jest uzupełniane.
Pliki powyżej 10 MB mogą spowolnić kartę. Pliki powyżej 32 MB nie są przetwarzane w przeglądarce.
Samo przetwarzanie Base64 odbywa się w przeglądarce. Tekst ani plik nie są wysyłane na serwer NEXNARA w tym narzędziu. Reklamy i inne funkcje witryny nadal używają sieci; to osobne od przetwarzania.
Chcesz kodować lub dekodować Base64? Otwórz Koduj i dekoduj Base64 i wklej tekst albo upuść plik.
FAQ
Czy Base64 to szyfrowanie?
Nie. Base64 to kodowanie. Zmienia reprezentację. Nie chroni poufności.
Czy Base64 jest bezpieczny?
Base64 nie jest mechanizmem bezpieczeństwa. To zwykłe kodowanie. Kto ma tekst, zwykle może go zdekodować. Bezpieczeństwo zależy od reszty systemu.
Czy Base64 da się zdekodować bez hasła?
Tak. Wystarczy standardowy dekoder. Samo Base64 nie wymaga hasła ani tajnego klucza.
Dlaczego Base64 zwiększa rozmiar pliku?
Co 3 bajty stają się 4 znakami w standardowym Base64 z dopełnieniem (długość 4 × ceil(n / 3)). To mniej więcej 33% więcej przy dużym surowym payloadzie. Dopełnienie może zmienić stosunek przy malutkich wejściach.
Jaka jest różnica między Base64 a Base64URL?
Base64URL używa - i _ zamiast + i / i często pomija dopełnienie =. Oba są kodowaniami. Koduj i dekoduj Base64 obsługuje oba alfabety.
Czy Base64 może kodować obrazy i pliki?
Tak. Wynik to tekst, nie mniejszy plik. Użyj trybu Plik w Koduj i dekoduj Base64 dla surowego Base64 albo Data URL. Plik zostaje w przeglądarce.