Идентификатор шифрования

Нашли подозрительную строку в головоломке CTF, файле журнала или старом документе и не можете определить, является ли она Base64, шестнадцатеричной, двоичной, азбукой Морзе или чем-то еще? Вставьте текст, и идентификатор проверит набор символов и структуру, чтобы ранжировать наиболее вероятные кодировки и шифры. Хороший первый шаг, прежде чем обращаться к специализированным декодерам.

Как работает шифр-идентификатор

  1. 1

    Вставьте зашифрованный текст

    Любая длина. Очень короткие строки (< 20 символов) дают более слабые сигналы; более длинный текст обеспечивает более строгую классификацию.

  2. 2

    Анализ набора символов

    Распределение букв, цифр и символов сужает кандидатов (все шестнадцатеричные, все алфавиты Base64, все прописные латинские буквы и т. д.).

  3. 3

    Сопоставление сигнатур

    b$) сверяются с известными сигнатурами.

  4. 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 как особого случая, сохранение пунктуации и регистра.