Wykrywacz kodowania

Nie wiesz, czy ciąg to Base64, hex, Base58, czy coś innego? Wklej go tutaj. Wykrywacz próbuje każdego dekodera, szereguje poprawne wyniki i pokazuje podgląd zdekodowanych danych.

Działa w całości w przeglądarce. Nic nie jest wysyłane.

Jak używać

  1. Wklej nieznany ciąg w polu „Wejście”.
  2. Wykrywacz uruchamia wszystkie dekodery i wyświetla kodowania, które poprawnie dekodują ciąg, zaczynając od najbardziej prawdopodobnego.
  3. Przy każdym kandydacie sprawdź podgląd zdekodowanego tekstu lub bajtów oraz wykryty typ pliku.
  4. Gdy znasz już kodowanie, kliknij „Otwórz narzędzie”, aby przejść do jego strony i zdekodować, przekonwertować lub pobrać dane.

Jak wykrywacz podejmuje decyzję

Każde kodowanie ma reguły, które ciąg albo spełnia, albo łamie. Wykrywacz uruchamia na danych wejściowych każdy dekoder. Dekoder, który natrafi na znak spoza swojego alfabetu, niemożliwą długość lub dopełnienie w złym miejscu, zostaje odrzucony, a pozostałe są szeregowane według tego, jak wiarygodnie wygląda ich wynik.

  • Zestaw znaków. Hex używa tylko 0-9 i a-f. Base58 nigdy nie zawiera 0, O, I ani l. Znak + lub / wskazuje na Base64, a - i _ na Base64URL.
  • Długość i dopełnienie. Hex wymaga parzystej liczby cyfr. Base64 działa w grupach po 4 znaki, Base32 w grupach po 8, a dopełnienie = może w obu przypadkach występować tylko na końcu.
  • Czytelny wynik. Kandydat, który daje prawidłowy UTF-8 złożony ze znaków drukowalnych, jest dużo bardziej prawdopodobny niż taki, który zwraca przypadkowo wyglądające bajty.
  • Sygnatury plików. Jeśli zdekodowane bajty zaczynają się od znanej sygnatury (magic number), np. nagłówka PNG, JPEG, PDF, ZIP lub gzip, wykrywacz podaje typ pliku.

Opakowania takie jak prefiks URI data:, ograniczniki Adobe <~ ~> czy wiersze begin w uuencode są rozpoznawane przez odpowiednie dekodery. Wszystko to działa w przeglądarce.

Dlaczego wynik to ranking, a nie pewność

Alfabety w dużej mierze się pokrywają. Ciąg 48656c6c6f to zapis hex słowa Hello, ale te same dziesięć znaków to także prawidłowy Base64, Base36, Base58 i Base62, a każde z tych kodowań daje inne bajty. Tylko odczyt jako hex daje czytelny tekst, dlatego hex jest na pierwszym miejscu. Krótkie słowo, np. cafe, pasuje do niemal każdego alfabetu i nic w samym ciągu nie wskazuje, o który chodziło.

Dłuższe dane dają jaśniejsze odpowiedzi, bo przypadkowe dopasowania stają się mało prawdopodobne. Jeśli żaden kandydat nie daje tekstu ani znanego typu pliku, dane mogą być zaszyfrowane, skompresowane albo stanowić skrót. Skrót SHA-256 zapisany w hex jest całkowicie prawidłowym ciągiem hex, ale jego bajty z założenia wyglądają losowo.

Rozpoznawanie popularnych kodowań na oko

KodowanieTypowe wskazówki
HexTylko 0-9 a-f, parzysta długość. 32, 40 lub 64 cyfry często oznaczają skrót MD5, SHA-1 lub SHA-256.
Base64A-Z a-z 0-9 + /, długość będąca wielokrotnością 4, na końcu może wystąpić = lub ==.
Base64URL- i _ zamiast + i /, zwykle bez dopełnienia. Trzy części połączone kropkami to JWT.
Base32Wielkie litery A-Z i cyfry 2-7, dopełnienie = do wielokrotności 8.
Base58Litery i cyfry bez 0 O I l. Adresy Bitcoin, skróty IPFS zaczynające się od Qm.
Ascii85, Base85Gęsta mieszanina liter, cyfr i znaków interpunkcyjnych. Ascii85 bywa ujęty w <~ ~>.

Najczęściej zadawane pytania

Jak sprawdzić, czy ciąg to Base64?
Zwróć uwagę na znaki A-Z, a-z, 0-9, + i /, długość będącą wielokrotnością 4 i co najwyżej dwa znaki = na końcu. Wklej ciąg tutaj, aby zobaczyć, czy dekoduje się do czytelnego tekstu lub znanego typu pliku. Do ścisłego sprawdzenia z dokładnymi pozycjami błędów użyj walidatora Base64.
Dlaczego wykrywacz pokazuje więcej niż jedno kodowanie?

Wiele ciągów, zwłaszcza krótkich, jest prawidłowych jednocześnie w kilku alfabetach. Wykrywacz wyświetla każde kodowanie, które dekoduje dane bez błędów, a na pierwszym miejscu stawia najbardziej prawdopodobne na podstawie czytelności tekstu i sygnatur plików.

Nic nie dekoduje się do czytelnego tekstu. Co to oznacza?
Dane mogą być binarne, np. obraz lub skompresowany plik, a wtedy pomaga wykryty typ pliku. Mogą to być też dane zaszyfrowane, skrót lub bajty zapisane niestandardowym alfabetem. W tym ostatnim przypadku skorzystaj z kodera z własnym alfabetem.
Czy wykrywacz potrafi odszyfrować ciąg lub odwrócić skrót?

Nie. Kodowania takie jak Base64 nie używają klucza i z założenia są odwracalne, dlatego można je wykryć i zdekodować. Zaszyfrowanych danych nie da się odczytać bez klucza, a skrótu nie można zamienić z powrotem na dane wejściowe.

Czy wklejony ciąg jest wysyłany na serwer?

Nie. Każdy dekoder działa lokalnie w przeglądarce, więc tokeny, klucze i dane z logów nigdy nie opuszczają urządzenia.