Konwerter Base64 na Hex

Base64 i zapis szesnastkowy to dwa sposoby zapisywania surowych bajtów jako drukowalnego ASCII, ale pokazują różne szczegóły. Hex czytelnie pokazuje każdy bajt w dwóch cyfrach; Base64 jest gęstszy, ale trudniejszy do czytania. Konwersja z Base64 do hex przydaje się, gdy debugujesz token, sprawdzasz fingerprint klucza albo porównujesz sekwencje bajtów między narzędziami, które preferują różne kodowania.

Jak działa konwersja

  1. 1

    Wklej ciąg Base64

    Działa ze standardowym Base64, URL-safe oraz z paddingiem albo bez.

  2. 2

    Ciąg jest dekodowany do surowych bajtów

    Każde 4 znaki Base64 stają się 3 bajtami.

  3. 3

    Każdy bajt jest zapisany jako dwie cyfry hex

    Wybierz wielkie albo małe litery wyjścia.

  4. 4

    Odczytaj hex

    Opcjonalnie ze spacjami, prefiksami `0x` albo jako ciągły zapis.

Przykład krok po kroku

Base64 SGVsbG8= dekoduje się do 5 bajtów:

Znaki Base64 Bajty Hex
SGVs 48 65 6C 48 65 6C
bG8= 6C 6F 6C 6F

Zatem SGVsbG8= w hex to 48 65 6C 6C 6F (ASCII dla Hello).

Kiedy hex mówi więcej niż Base64

  • Fingerprinty certyfikatów — fingerprinty SHA-1 i SHA-256 są kanonicznie pokazywane w hex z dwukropkami: AB:CD:.... Konwersja hasha zakodowanego Base64 na hex pozwala dopasować go bajt po bajcie.
  • Materiał klucza — klucze AES, sekrety HMAC, klucze prywatne Ed25519 są zwykle logowane w hex. Ten sam klucz w Base64 wygląda zupełnie inaczej; konwersja pozwala sprawdzić, że to to samo.
  • Podpisy JWT — segment signature JWT jest Base64 URL-safe. Konwersja na hex ułatwia porównanie z oczekiwaną wartością w logu debug.
  • TLS session IDs / dane handshake — Wireshark pokazuje je w hex; aplikacja może logować je w Base64.

Opcje formatu wyjścia

Base64:        SGVsbG8=
Hex (ciągły):  48656C6C6F
Hex (spacje):  48 65 6C 6C 6F
Hex (0x):      0x48 0x65 0x6C 0x6C 0x6F
Hex (dwukropki): 48:65:6C:6C:6F
Hex (C):       \x48\x65\x6C\x6C\x6F

Typowe pułapki

  • Base64 URL-safe — jeśli wejście zawiera - albo _, jest to wariant URL-safe. To narzędzie automatycznie przyjmuje oba.
  • Padding — przyjmuje Base64 z końcowym = albo bez. Dekodery zwykle to tolerują.
  • Białe znaki we wklejonym wejściu — łamania linii i spacje są usuwane przed dekodowaniem.

Najczęściej zadawane pytania

Tak, wyraźnie. Hex używa 2 znaków na bajt; Base64 około 1.33. Hex jest więc o 50% dłuższy niż Base64, ale każdy bajt jest w nim dobrze widoczny, a kodowanie nie zależy od wielkości liter.

Tak — użyj Hex to Base64 Converter. Sekwencja bajtów jest zachowana w obu kierunkach; zmienia się tylko reprezentacja tekstowa.

Albo wejście tak naprawdę nie było Base64, miało znaki z innego alfabetu (Crockford Base32, Base58), albo było ucięte. Sprawdź źródło; najpierw spróbuj dekodować jako surowy tekst, żeby zobaczyć, czy wygląda sensownie.

Tak. Hex i Base64 są reprezentacjami bajtów typu round-trip; konwersja między nimi zachowuje sekwencję bajtów dokładnie.

Powiązane narzędzia