Идентификатор шифрования
Нашли подозрительную строку в головоломке CTF, файле журнала или старом документе и не можете определить, является ли она Base64, шестнадцатеричной, двоичной, азбукой Морзе или чем-то еще? Вставьте текст, и идентификатор проверит набор символов и структуру, чтобы ранжировать наиболее вероятные кодировки и шифры. Хороший первый шаг, прежде чем обращаться к специализированным декодерам.
Как работает шифр-идентификатор
-
1
Вставьте зашифрованный текст
Любая длина. Очень короткие строки (< 20 символов) дают более слабые сигналы; более длинный текст обеспечивает более строгую классификацию.
-
2
Анализ набора символов
Распределение букв, цифр и символов сужает кандидатов (все шестнадцатеричные, все алфавиты Base64, все прописные латинские буквы и т. д.).
-
3
Сопоставление сигнатур
b$) сверяются с известными сигнатурами.
-
4
Ранжированные предположения
Все подходящие кандидаты сортируются по достоверности и показываются в процентах, чтобы вы знали, какой декодер попробовать первым.
Эвристика обнаружения
| Подсказка | Вероятный шифр/кодировка |
|---|---|
Только A-Z a-z 0-9 + / =, длина кратна 4 |
Base64 |
Только 0-9 a-f, четная длина |
Шестнадцатеричный |
Только 0-1, 8 или более цифр |
Двоичный |
| Только точки, тире, косые черты и пробелы | Азбука Морзе |
| Только заглавные латинские буквы, 5+ букв | Шифр Цезаря или подстановки |
| 20+ латинских букв, без пробелов | Моноалфавитный шифр |
| Латинские буквы в верхнем и нижнем регистре | Открытый текст, вероятно не шифр |
Три сегмента через точку, начинается с eyJ |
Токен JWT |
Начинается с $2a$, $2b$ или $2y$ |
Хеш bcrypt |
| Ровно 32 шестнадцатеричных символа | Хеш MD5 |
| Ровно 40 шестнадцатеричных символов | Хеш SHA-1 |
| Ровно 64 шестнадцатеричных символа | Хеш SHA-256 |
Признаки помимо набора символов
- Base64: блоки по 4, заполнение
=в конце, включая+и/. - Цезарь или подстановка: заглавные латинские буквы, без цифр. Частоты такие же, как у открытого текста, просто сдвинуты.
- Азбука Морзе: только точки, тире, косые черты и пробелы.
- JWT: три сегмента, разделенных точками, обычно начинается с
eyJ. - Хеши (MD5/SHA): шестнадцатеричные значения фиксированной длины (32 символа для MD5, 40 для SHA-1, 64 для SHA-256). Необратимы, идентификатор отмечает это, чтобы вы не пытались «декодировать».
- Двоичный: длинные последовательности из 0 и 1, часто сгруппированные по восемь.
Ограничения автоматической идентификации
- Короткие входные данные (<10 символов): достоверность низкая по всем направлениям. Может быть что угодно.
- Пользовательский XOR с одноразовым блокнотом: без ключа неотличим от случайного. Идентификатор не вернет совпадений.
- Несколько слоев: распространенный трюк CTF, Base64 → обратный → Caesar → шестнадцатеричный. Снимайте по одному слою.
- Исходный язык не английский: проверки латинских букв по-прежнему работают, но «открытый текст» это лишь догадка; идентификатор не определяет язык.
Оценка уверенности
Каждый кандидат получает фиксированную достоверность в зависимости от того, насколько специфична его сигнатура. Более 80%: вероятно. 50-80%: правдоподобно. Ниже 50%: маловероятно. Несколько совпадений обычно означают короткий ввод или гибридный шифр.
Часто задаваемые вопросы
Любой метод идентификации шифра основан на статистических закономерностях, а для достоверности статистике необходимо достаточно данных. При длине менее 20 символов многие шифры выглядят одинаково; более 50 символов дают четкие сигналы.
Он лишь предлагает наиболее вероятную схему. Декодирование происходит в специальных инструментах-декодерах, а для некоторых декодирований требуется ключ, который вы должны предоставить.
Сначала проверьте набор символов (какие буквы/символы появляются), затем длину и структуру. Если это все еще неясно, попробуйте один за другим декодеры, которые вызывают подозрения (Base64, hex, Caesar), на CTF частота + угадывание обычно взламывают его за несколько попыток.
Вероятно, не как именованное совпадение: он не возвращает кандидатов или возвращает догадку с низкой достоверностью. Сравните алфавит и структуру вашего шифротекста с таблицей эвристик выше, чтобы перепроектировать простые самодельные схемы.
Сопутствующие инструменты
Кодировщик и декодировщик Base58
Кодируйте текст UTF-8 или шестнадцатеричные байты и безопасно декодируйте Base58 с алфавитом Bitcoin, Ripple или Flickr.
Кодировщик шифра A1Z26
Кодируйте текст шифром A1Z26 (A=1, B=2, ... Z=26) или декодируйте числовую последовательность обратно в буквы, выбрав разделитель.
Генератор bcrypt
Сгенерируйте bcrypt hash из plaintext password. Настраиваемый cost factor от 4 до 13, совместим с Laravel, Django, Node и PHP.
Кодировщик файлов Base64
Кодируйте любой файл (PDF, ZIP, изображение, исполняемый файл) в текст Base64 для встраивания в JSON, письма, YAML или data URI. Работает локально в браузере, без загрузки на сервер.
Кодировщик и декодировщик Base85
Кодируйте и декодируйте Base85 в варианте Adobe Ascii85, который используется в файлах PostScript и PDF. Компактнее Base64 для двоичных данных.
Кодировщик шифра Цезаря
Шифруйте и расшифровывайте текст с помощью шифра Цезаря. Любой сдвиг 1-25, поддержка ROT13 как особого случая, сохранение пунктуации и регистра.