معرّف التشفير
لقد قمت باستخراج نسخة من قاعدة البيانات ولاحظت وجود سلاسل نصية مثل $2y$10$... أو 5f4dcc3b5aa765d61d8327deb882cf99، ويجب أن تعرف طبيعة هذه السلاسل قبل البدء في تحليلها أو عكس ترميزها. يطبّق هذا المعرّف قواعد تقريبية تتعلق بالطول ومجموعة الأحرف والبنية والبادئات، بهدف تخمين الخوارزمية أو نظام الترميز الأكثر احتمالاً الكامن وراء عينة النص المشفر.
كيفية تحديد النص المشفر
-
1
لصق العينة
مُجمّع بيانات تشفير واحد، أو كتلة نصية مشفرة، أو رمز، أو سلسلة نصية مشفرة.
-
2
عرض التنسيقات المطابقة
يتم سرد جميع التنسيقات التي يطابق نمطها عينتك في النتيجة.
-
3
التحقق المتبادل
إذا تطابقت عدة تنسيقات، استخدم أداة كسر التجزئة أو مفكك البيانات لتأكيد أيها صحيح.
-
4
لاحظ عدم اليقين
نادرًا ما يكون التعرف على عينة واحدة فقط حاسمًا؛ إذا لم يطابق أي شيء، توضح الأداة ذلك.
أنماط التوقيع التي يستخدمها المعرّف
قائم على الطول (للتجزئات المُرمّزة بالنظام السداسي عشري):
| الطول (بأحرف سداسية عشرية) | يُعرَّف على أنه |
|---|---|
| 32 | MD5 |
| 40 | SHA-1 |
| 64 | SHA-256 |
| 128 | SHA-512 |
الأطوال الأخرى، مثل SHA-224 بطول 56 حرفًا سداسيًا أو SHA-384 بطول 96، لا يتم التعرف عليها كتجزئات (سيتم تصنيف سلسلة سداسية من 56 أو 96 حرفًا على أنها Base64 بدلاً من ذلك).
قائم على البادئة (يتم التعرف على بادئات bcrypt فقط):
$2a$$2b$$2y$bcrypt
بادئات النمط crypt الأخرى ($1$ و$5$ و$6$ و$argon2i$ و$argon2id$ و$pbkdf2$) لا يتم التعرف عليها.
قائم على الترميز:
- جميع الأحرف ضمن
[A-Za-z0-9+/=]وطولها من مضاعفات 4: على الأرجح Base64. - ثلاثة أجزاء مفصولة بـ
.، يتكون كل منها من أحرف[A-Za-z0-9_-]: JWT.
لا يتم اكتشاف أغلفة PEM، أو كتل OpenSSH ssh-rsa/ssh-ed25519، أو سلاسل Base64url التي تحتوي على - أو _.
ما لا يستطيع التعرّف إخبارك به
- الخوارزمية الدقيقة بيقين 100%: سلسلة من 64 حرفًا سداسيًا يتم الإبلاغ عنها على أنها SHA-256، لكنها قد تكون أيضًا SHA3-256 أو BLAKE2s؛ ولا يمكن التمييز بينها من النص المشفر. تجزئات NTLM (وهي أيضًا 32 حرفًا سداسيًا) تبدو مطابقة لـ MD5.
- قوة المفتاح: يُظهر هاش bcrypt عامل التكلفة في بادئته (مثلاً:
$2y$10$= تكلفة 10)، لكنه لا يعكس قوة كلمة المرور الأساسية. - هل هو مُملَّح أم لا: تجزئات كلمات المرور الحديثة (مثل bcrypt وArgon2) مُملَّحة دائمًا؛ بينما قد تكون القديمة (مثل MD5 وSHA الخام) مملَّحة أو غير مملَّحة.
- النص الأصلي: لا تعكس عملية التعرّف التجزئة؛ أما الاختراق فهو عملية منفصلة، ويُسمح بها قانونيًا فقط على بياناتك الخاصة.
متى يكون المعرّف خاطئًا
- الرموز ذات البادئات المخصصة: تُغلّف التطبيقات أحيانًا الهاش ببادئة خاصة بها؛ أزل الغلاف أولاً.
- الترميز المزدوج: قد يؤدي تغليف هاش ثنائي بصيغة سداسية ثم بـ Base64 إلى تعريف خاطئ؛ جرّب فك الترميز مرة واحدة ثم أعد التشغيل.
- الأطوال غير المعتادة: تظهر التجزئات المقتطعة (مثل أول 16 حرفًا من SHA-256 مستخدمة كمعرّف) على أنها “Base64” لأن قواعد الأحرف والطول تتداخل.
- التنسيقات المؤطَّرة أو المغلَّفة: لا يتم تحليل كتل PEM، أو مفاتيح OpenSSH، أو
pbkdf2_sha256$...من Django؛ أزل الغلاف أو البادئة وحاول مرة أخرى، أو استخدم محللًا مخصصًا.
حالات الاستخدام
- تدقيقات الأمان: فهرسة أنواع التجزئة عبر قاعدة الكود قبل ترحيل التشفير.
- تحديات CTF: تمريرة أولى سريعة على كتلة غير معروفة.
- الاستجابة للحوادث: تحديد تنسيق بيانات الاعتماد المتسربة.
- تصحيح أخطاء إطار العمل: معرفة نوع الترميز الذي تنتجه المكتبة.
تذكير حول المبادئ الأخلاقية
تحديد تنسيق التجزئة هو نوع من البحث السلبي؛ فاختراق تجزئة شخص آخر دون إذن يُعد مخالفة لقوانين سوء استخدام الحواسيب في معظم الولايات القضائية. يجب العمل فقط على التجزئات التي تمتلكها أو التي يُسمح لك بتحليلها.
الأسئلة الشائعة
جزئيًا: يتكوّن MD5 من 32 حرفًا هكساديسيمي، بينما يتكوّن SHA-1 من 40 حرفًا هكساديسيمي. إذا كان طول كلا الخوارزميتين متساويًا، فلا يمكن التمييز بينهما باستخدام قيمة الهاش وحدها؛ وعادةً ما يتم تحديد الاختلاف بناءً على السياق (اسم عمود قاعدة البيانات، الإعدادات الافتراضية للإطار البرمجي، أو المخطط الذي تم تسريبه).
لا، فهو يقتصر فقط على عملية التعرف؛ فاسترجاع القيمة المُخزَنة في الهاش أو فك تشفير النص المشفر يتطلب أدوات منفصلة (بالإضافة إلى المفتاح أو الموارد الحسابية اللازمة للاختراق)، ولا يمكن تنفيذ هذه العمليات إلا على البيانات الخاصة بك فقط.
يُعد Argon2id (أو bcrypt عند عامل تكلفة مرتفع) التوصية الحالية؛ بينما يظل كل من PBKDF2-SHA256 وscrypt مقبولين. أما MD5 البسيط، أو SHA-1، أو SHA-256 غير المُملَّح، فهي غير آمنة لتخزين كلمات المرور.
لا. يتم إرسال القيمة التي تلصقها إلى خادمنا لإجراء فحص التنسيق، لكنها لا تُخزَّن في أي قاعدة بيانات ولا تُضاف إلى رابط الصفحة.
أدوات ذات صلة
مشفر ملفات Base64
شفّر أي ملف (PDF، ZIP، صورة، ملف تنفيذي) إلى نص Base64 للتضمين في JSON أو البريد أو YAML أو data URIs. يعمل محليا، بلا رفع.
مرمز شفرة A1Z26
رمز النص باستخدام شفرة A1Z26 (A=1, B=2, ... Z=26) أو فك تسلسل أرقام إلى حروف، مع فاصل قابل للتخصيص.
مشفّر قيصر
شفّر وفك تشفير النص باستخدام شفرة قيصر. أي إزاحة من 1-25، مع دعم ROT13 كحالة خاصة، والحفاظ على علامات الترقيم وحالة الأحرف.
مولد Hash bcrypt
ولّد hashes من نوع bcrypt أو تحقق من كلمة مرور نصية مقابل hash bcrypt موجود. وضعا التوليد والتحقق جنبا إلى جنب في أداة واحدة.
مشفر ومفكك Base58
رمّز نص UTF-8 أو بايتات سداسية عشرية وفك Base58 بأمان باستخدام أبجدية Bitcoin أو Ripple أو Flickr، مع رفض المحارف غير الصالحة.
مولد bcrypt
ولّد hash من نوع bcrypt لكلمة مرور نصية. عامل cost قابل للضبط من 4 إلى 13، ومتوافق مع Laravel وDjango وNode وPHP.
الأداة متاحة بلغات أخرى
- 加密标识符 [ZH]
- Identificador de Criptografia [PT]
- Mã định danh mã hóa [VI]
- 암호화 식별자 [KO]
- ตัวระบุการเข้ารหัส [TH]
- Identificador de Cifrado [ES]
- 暗号化識別子 [JA]
- Identifikasi Enkripsi [ID]
- Identificateur de chiffrement [FR]
- Krypteringsidentifierare [SV]
- Şifreleme Tanımlayıcısı [TR]
- Versleutelingsidentifier [NL]
- Encryption Identifier [EN]
- Identyfikator szyfrowania [PL]
- Verschlüsselungs-Identifikator [DE]
- Identificatore di Crittografia [IT]
- Идентификатор шифрования [RU]