Czy Base64 to szyfrowanie?+−
Nie. Base64 to kodowanie, a nie szyfrowanie - każdy może je natychmiast zdekodować bez klucza czy hasła, w tym to narzędzie. Zmienia jedynie reprezentację danych, aby mogły bezpiecznie przechodzić przez systemy oczekujące tekstu, a nie danych binarnych. Nigdy nie używaj go, aby ukryć coś wrażliwego.
Dlaczego tekst zakodowany w Base64 kończy się znakami =?+−
Base64 działa w blokach po 3 bajty, z których każdy jest przekształcany w 4 znaki wyjściowe. Gdy dane wejściowe nie są wielokrotnością 3 bajtów, znaki = uzupełniają ostatni blok do pełnych 4 znaków. Wariant bezpieczny dla URL zazwyczaj pomija to wypełnienie, ponieważ dekodery zwykle mogą je wywnioskować z długości ciągu.
Jaka jest różnica między alfabetem standardowym a bezpiecznym dla URL?+−
Standardowy Base64 używa + i / jako dwóch spośród swoich 64 znaków, ale oba mają specjalne znaczenie wewnątrz adresu URL (odpowiednio spacja i separator ścieżki), więc standardowy ciąg Base64 może się zepsuć, jeśli zostanie umieszczony bezpośrednio w adresie URL lub nazwie pliku. Wariant bezpieczny dla URL zastępuje te dwa znaki znakami - i _, dlatego jest to format używany w JWT i podobnych tokenach.
Dlaczego dekodowanie czasami pokazuje dane binarne zamiast tekstu?+−
Base64 może zakodować dosłownie dowolne bajty, nie tylko tekst - obraz, plik czcionki, plik wykonywalny. Gdy zdekodowane bajty nie tworzą prawidłowego tekstu UTF-8, to narzędzie nie może wyświetlić ich jako czytelnego ciągu, ale nadal możesz je pobrać jako plik, aby odzyskać oryginalną zawartość binarną.
Dlaczego dane zakodowane w Base64 są około jedną trzecią większe niż oryginał?+−
Base64 zamienia każde 3 bajty wejściowe na 4 znaki wyjściowe, więc zakodowany wynik jest zawsze około 4/3 (czyli około 33%) większy od źródła - niezależnie od tego, czy kodujesz fragment tekstu, czy cały plik. Ten narzut to koszt reprezentowania dowolnych danych binarnych za pomocą zaledwie 64 znaków drukowalnych - to normalne i nie oznacza, że coś poszło nie tak.
Czy muszę włączyć "Alfabet bezpieczny dla URL" przed zdekodowaniem ciągu Base64 bezpiecznego dla URL?+−
Nie - dekodowanie zawsze działa, niezależnie od tego, czy ciąg używa alfabetu standardowego, czy bezpiecznego dla URL. W tle to narzędzie automatycznie zamienia - i _ z powrotem na + i /, a także uzupełnia brakujące wypełnienie =, dzięki czemu możesz wkleić dowolny z wariantów bezpośrednio w trybie dekodowania. Pole wyboru ma znaczenie tylko przy kodowaniu, ponieważ decyduje, jakiego alfabetu użyje wynik.