Идентификатор шифрования
Вставьте значение для определения.
Вы извлекли данные из базы данных и обнаружили строки вида $2y$10$... или 5f4dcc3b5aa765d61d8327deb882cf99; перед началом расшифровки или обратного анализа необходимо понимать их содержание. Данный идентификатор использует критерии длины, кодирования символов, структуры и префиксов для определения наиболее вероятного алгоритма или способа кодирования, применяемого к данному образцу шифрованного текста.
Как идентифицировать шифрованный текст
-
1
Вставьте образец
Один хеш, блок шифротекста, токен или закодированная строка.
-
2
Посмотрите совпавшие форматы
Результат упорядочивает подходящие форматы: сначала самые вероятные, затем то, чем ещё может оказаться образец.
-
3
Перекрёстная проверка
Если подходит несколько форматов, подтвердите нужный с помощью программы для взлома хешей или декодера.
-
4
Учитывайте неопределённость
Идентификация по одному образцу редко бывает окончательной; если ничего не совпало, инструмент сообщит об этом.
Какие форматы распознаёт идентификатор
Шестнадцатеричные хеши распознаются по длине (регистр букв не важен):
| Длина (шестнадцатеричных символов) | Наиболее вероятно |
|---|---|
| 8 | CRC32 или другая 32-битная контрольная сумма |
| 32 | MD5, MD4 или NTLM |
| 40 | SHA-1 или RIPEMD-160 |
| 56 | SHA-224 или SHA3-224 |
| 64 | SHA-256 или SHA3-256 |
| 96 | SHA-384 или SHA3-384 |
| 128 | SHA-512 или SHA3-512 |
Например, d63dc919e201d7bc4c825630d2cf25fdc93d4b2f0d46706d29038d01 содержит 56 символов: это хеш SHA-224 от слова «password».
Хеши паролей распознаются по префиксу и структуре:
$2a$,$2b$,$2y$: bcrypt, фактор стоимости считывается из префикса$1$: md5crypt;$apr1$: Apache MD5 (htpasswd)$5$и$6$: sha256crypt и sha512crypt$y$: yescrypt;$7$и$scrypt$: scrypt$argon2id$,$argon2i$,$argon2d$: Argon2$pbkdf2-sha256$(passlib) иpbkdf2_sha256$(Django): PBKDF2$P$и$H$: phpass (WordPress, phpBB);$S$: Drupal 7*и следом 40 шестнадцатеричных символов: MySQL 4.1+{SSHA},{SHA}и другие распространённые схемы LDAP
В типичных случаях результат также показывает режим hashcat (-m): MD5 0, NTLM 1000, SHA-1 100, SHA-256 1400, SHA-512 1700, bcrypt 3200, md5crypt 500, sha256crypt 7400, sha512crypt 1800, phpass 400, Drupal 7 7900, MySQL 4.1+ 300 и Django PBKDF2-SHA256 10000.
Ключи, токены и идентификаторы:
- Блоки PEM (
-----BEGIN ...-----): закрытые ключи (RSA, EC, OpenSSH, PKCS #8), защищённые паролем закрытые ключи, открытые ключи, сертификаты X.509 и запросы на подпись сертификата - Текстовые блоки OpenPGP (ASCII armor): зашифрованные сообщения (
BEGIN PGP MESSAGE), блоки ключей и подписи - Открытые ключи OpenSSH (
ssh-rsa,ssh-ed25519,ecdsa-sha2-...) - JSON Web Token: заголовок декодируется, чтобы показать
algиtyp, а токен из пяти частей с полемencраспознаётся как зашифрованный JWE - UUID с указанием версии (это идентификатор, а не хеш)
Кодировки, только если не подошло ничего более конкретного:
- Hex, Base32, Base64 и Base64url с длиной в байтах после декодирования, а также URL-кодирование (процентное).
- Данные hex или Base64, длина которых после декодирования кратна 16 байтам, могут быть результатом работы блочного шифра, например AES; при длине 128, 256, 384 или 512 байт это также могут быть данные, зашифрованные RSA, или подпись. Данные Base64 или Base32 длиной 16, 20, 28, 32, 48 или 64 байта могут быть двоичным хешем MD5, SHA-1 или SHA-2.
Что идентификация не может определить
- Точный алгоритм со стопроцентной уверенностью. Строка из 64 шестнадцатеричных символов определяется как SHA-256 или SHA3-256, но BLAKE2s и другие 256-битные хеши выглядят точно так же. У хешей MD5, MD4 и NTLM одинаковая длина: 32 шестнадцатеричных символа.
- Каким шифром зашифрованы данные. Зашифрованные данные выглядят случайными. Длина лишь сужает круг вариантов, поэтому AES или RSA всегда остаются только возможностью, а не уверенностью.
- Стойкость ключа. Хеш bcrypt показывает в префиксе фактор стоимости (
$2y$10$= стоимость 10), но не стойкость самого пароля. - Использована ли соль. Современные хеши паролей (bcrypt, Argon2) всегда с солью; старые (простые MD5/SHA) могут быть как с солью, так и без неё.
- Открытый текст. Идентификация не обращает хеш; взлом является отдельным процессом и законен только для ваших собственных данных.
Когда идентификатор ошибается
- Токены с собственным префиксом. Приложения иногда оборачивают хеш собственным префиксом; сначала снимите обёртку.
- Двойное кодирование. Двоичный хеш, записанный в hex и затем обёрнутый в Base64, будет определён неверно. Декодируйте его один раз и проверьте снова.
- Необычная длина. Усечённые хеши (например, первые 16 символов SHA-256, используемые как идентификатор) определяются как обычные шестнадцатеричные данные, потому что такая длина не совпадает ни с одним хешем из таблицы выше.
- Несколько значений сразу. Проверяется одно значение. Если вставить список хешей, будет проверена только первая строка; остальные вставляйте по одному.
Сценарии использования
- Аудиты безопасности: инвентаризация типов хешей по всей кодовой базе перед миграцией криптографии.
- Задачи CTF: быстрый первый проход по неизвестному фрагменту.
- Реагирование на инциденты: определение формата утёкших учётных данных.
- Отладка фреймворков: выяснение того, какую кодировку выдаёт библиотека.
Напоминание об этике
Определение формата хеша это пассивное исследование. Взлом чужого хеша без разрешения нарушает законы о неправомерном использовании компьютеров в большинстве юрисдикций. Работайте только с хешами, которые принадлежат вам или которые вы уполномочены анализировать.
Часто задаваемые вопросы
Частично: MD5 это 32 шестнадцатеричных символа, а SHA-1: 40. Если длины попадают в один диапазон, различить их по одному лишь хешу нельзя; обычно вопрос решает контекст (имя столбца в базе данных, настройки фреймворка по умолчанию, утёкшая схема данных).
Нет. Инструмент только идентифицирует. Обращение хеша или расшифровка шифротекста требуют отдельных инструментов (а также ключа или вычислительных ресурсов для взлома) и законны только в отношении ваших собственных данных.
Argon2id (или bcrypt при высоком коэффициенте затрат) является текущей рекомендацией; методы PBKDF2-SHA256 и Scrypt также считаются приемлемыми. Простые варианты алгоритмов MD5, SHA-1 или необработанный SHA-256 не подходят для хранения паролей.
Нет. Введённое вами значение отправляется на наш сервер для проверки формата, но не сохраняется ни в какой базе данных и не добавляется в ссылку страницы. Между двумя шагами оно остаётся в этой вкладке браузера, а кнопка «Начать сначала» его удаляет.
Сопутствующие инструменты
Генератор ключей API случайного типа
Создавайте на сервере ключи API длиной 8–128 символов в формате hex, base64url или алфавитно-цифровом формате либо UUIDv4.
Генератор ключей PGP
Создайте пару ключей OpenPGP в текстовом формате ASCII и сертификат отзыва с Curve25519, RSA 2048 или RSA 4096.
Шифр из числа в букву
Преобразуйте числа в буквы и обратно по шифру A=1, B=2 (A1Z26) для головоломок, загадок и подсказок в квест-комнатах.
Генератор SSL-сертификатов
Создайте самоподписанный сертификат SSL/TLS и закрытый ключ RSA полностью в браузере. Свои Common Name, SAN и срок действия, экспорт в PEM.
Генератор MD5
Создайте хеш MD5 для любого текста или файла. Результат, 128-битное значение в шестнадцатеричном формате, вычисляемое полностью в вашем браузере.
Генератор парольных фраз
Создайте запоминающуюся парольную фразу из случайных распространённых слов, с настраиваемым числом слов, разделителем, заглавными буквами и необязательной добавленной цифрой.
Инструмент доступен на других языках
- 暗号化識別子 [JA]
- Versleutelingsidentifier [NL]
- Identifikasi Enkripsi [ID]
- Identyfikator szyfrowania [PL]
- Identificador de Criptografia [PT]
- معرّف التشفير [AR]
- Identificador de Cifrado [ES]
- Krypteringsidentifierare [SV]
- Identificateur de chiffrement [FR]
- Mã định danh mã hóa [VI]
- 암호화 식별자 [KO]
- Verschlüsselungs-Identifikator [DE]
- ตัวระบุการเข้ารหัส [TH]
- Şifreleme Tanımlayıcısı [TR]
- 加密标识符 [ZH]
- Encryption Identifier [EN]
- Identificatore di Crittografia [IT]