| Termin | Definicja |
|---|---|
| Base64 encoding | Base64 encoding to alternatywne, pełne określenie tej metody kodowania danych binarnych do formatu tekstowego. Jak działa przekształcenie danych do Base64Base64 encoding, czyli kodowanie Base64, służy do przedstawiania danych binarnych za pomocą znaków tekstowych. Algorytm nie zmienia znaczenia danych i nie zapewnia ich poufności. Przekształca jedynie ciąg bajtów w taki sposób, aby wynik mógł być łatwiej przesyłany przez systemy oczekujące tekstu, na przykład przez niektóre pola protokołów, formatów dokumentów lub interfejsów programistycznych. Standardowy mechanizm Base64 grupuje dane wejściowe po trzy bajty, czyli po 24 bity. Następnie dzieli tę grupę na cztery części po 6 bitów. Każda wartość od 0 do 63 jest zamieniana na jeden znak z alfabetu Base64. W alfabecie opisanym w RFC 4648 znajdują się wielkie litery od A do Z, małe litery od a do z, cyfry od 0 do 9 oraz znaki „+” i „/”. W efekcie trzy bajty danych zwykle są przedstawiane jako cztery znaki tekstowe. Padding, długość wyniku i wariant URL-safeJeżeli liczba bajtów wejściowych nie dzieli się przez trzy, końcowy blok zawiera niepełną grupę. W standardowym zapisie brakujące fragmenty są uzupełniane bitami zerowymi, a wynik otrzymuje znaki paddingu „=”. Dla danych o długości jednego bajtu powstają dwa właściwe znaki Base64 i dwa znaki „=”. Dla dwóch bajtów powstają trzy właściwe znaki oraz jeden znak „=”. Gdy długość danych jest wielokrotnością trzech, padding nie jest potrzebny. Kodowanie zwiększa rozmiar danych, ponieważ trzy bajty są zapisywane jako cztery znaki. Przy większych blokach oznacza to narzut wynoszący w przybliżeniu 33 procent, bez uwzględniania dodatkowych nagłówków lub separatorów stosowanych przez konkretny format. RFC 4648 definiuje również wariant Base64url przeznaczony do wartości umieszczanych w adresach URL i innych kontekstach, w których znaki „+” oraz „/” mogą mieć znaczenie specjalne. W tym wariancie „+” zastępuje znak „-”, a „/” znak „_”. Padding może być pomijany, jeżeli sposób odczytu długości danych jest ustalony przez używany format. Base64 w plikach, protokołach i programachBase64 jest często używane do osadzania fragmentów binarnych w strukturach tekstowych. Przykładem może być zapis niewielkiego obrazu, załącznika, certyfikatu albo innego ciągu bajtów w dokumencie lub komunikacie, którego składnia operuje na tekście. Przed zakodowaniem dane muszą być traktowane jako bajty. Jeżeli źródłem jest tekst, należy najpierw zastosować określone kodowanie znaków, na przykład UTF-8, a dopiero potem zakodować otrzymane bajty za pomocą Base64. Sam wynik Base64 nie przechowuje automatycznie informacji o tym, czy tekst wejściowy był zapisany jako UTF-8, UTF-16 czy w innym kodowaniu. Nie każda składnia Base64 jest identyczna w każdym zastosowaniu. Jeden format może wymagać paddingu, inny może go pomijać. Niektóre starsze mechanizmy przesyłania danych dopuszczają także podział wyniku na linie o określonej długości, natomiast współczesne pola danych często oczekują jednego niepodzielonego ciągu. Podczas dekodowania program powinien znać oczekiwany wariant alfabetu, sposób obsługi paddingu oraz ewentualne zasady dotyczące białych znaków. Niedopasowanie tych parametrów może spowodować odrzucenie danych albo uzyskanie niepełnego wyniku. Rozpoznawanie problemów z kodowaniem Base64Typowy problem polega na pomyleniu kodowania Base64 z szyfrowaniem. Ciąg Base64 można odwrócić bez znajomości hasła, klucza lub sekretu, ponieważ dekodowanie jest operacją obliczeniową, a nie przełamaniem zabezpieczenia. Base64 nie chroni również przed modyfikacją danych. Jeżeli wymagane jest potwierdzenie autentyczności lub integralności, potrzebny jest osobny mechanizm, na przykład podpis cyfrowy albo kod uwierzytelniający, zależnie od używanego rozwiązania. Podczas diagnostyki warto sprawdzić, czy ciąg zawiera znaki dozwolone przez właściwy alfabet, czy jego długość jest zgodna z regułami danego wariantu oraz czy padding występuje w prawidłowym miejscu. Należy także ustalić, czy dane nie zostały zakodowane wielokrotnie. Podwójne zastosowanie Base64 może wyglądać poprawnie, ale po jednym dekodowaniu nadal pozostawiać tekstowy ciąg przypominający zakodowane dane. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i ich podzespołów, gdy błędne przetwarzanie danych tekstowych lub binarnych jest elementem problemu ujawnionego podczas pracy urządzenia. |