ما هي التجزئة التشفيرية؟
التجزئة التشفيرية تحوّل أي مدخل إلى ملخص ثابت الحجم (32 بايتاً لـ SHA-256) بحيث يعطي المدخل نفسه الملخص نفسه دائماً، ويعطي تغيير محرف واحد ملخصاً مختلفاً تماماً، ولا يمكن استرجاع المدخل من المخرج. تُستخدم التجزئة للتحقق من سلامة الملفات وبصمة المحتوى وتقوم عليها التوقيعات وHMAC. تُعدّ SHA-256 وعائلة SHA-2 حديثة؛ أما MD5 وSHA-1 فمكسورتان أمام التصادمات المتعمدة ولا ينبغي استخدامهما إلا كمجاميع تحقق.
ملاحظة أمنية: التجزئة العادية ليست مخزناً لكلمات المرور. تحتاج كلمات المرور إلى خوارزمية بطيئة ومملّحة — Argon2id أو scrypt أو bcrypt — لأن SHA-256 وMD5 يمكن تجربتهما مليارات المرات في الثانية.
كيفية استخدام مولّد MD5
- اكتب النص المراد تجزئته أو الصقه.
- اختر صيغة الإخراج.
- الصق اختيارياً تجزئة معروفة للمقارنة.
- انسخ الملخّص.
مزايا مولّد MD5
- تنفيذ MD5 (RFC 1321) بلغة TypeScript خالصة، مُتحقَّق منه مقابل متجهات الاختبار الرسمية
- إخراج سداسي عشري (أحرف صغيرة/كبيرة) وBase64 وBase64url وثنائي
- مقارنة مع تجزئة متوقعة — دون حساسية لحالة الأحرف، بصيغة سداسية عشرية أو Base64
- خيار إزالة المسافات لتجنّب عدم التطابق الناتج عن سطر جديد زائد في أدوات سطر الأوامر
- تجزئة فورية لنص UTF-8 أثناء الكتابة
مثال على مولّد MD5
MD5 لجملة جامعة (pangram)
الإدخال:
The quick brown fox jumps over the lazy dogالنتيجة:
9e107d9d372bb6826bd81d3542a419d6الأسئلة الشائعة حول مولّد MD5
هل لا يزال MD5 آمناً للاستخدام؟
ليس للأغراض الأمنية. يمكن إنتاج التصادمات في ثوانٍ، لذا يجب عدم استخدام MD5 لكلمات المرور أو التوقيعات أو سلامة البيانات غير الموثوقة. لكنه يبقى مناسباً للمجاميع الاختبارية غير العدائية ومفاتيح التخزين المؤقت ومطابقة الأنظمة القديمة.
لماذا تختلف تجزئتي عن سطر الأوامر؟
يضيف echo سطراً جديداً في النهاية، لذا فإن «echo hello | md5sum» يجزّئ «hello\n». استخدم printf أو فعّل «إزالة المسافات» هنا. والترميز مهم أيضاً: تجزّئ هذه الأداة بايتات UTF-8 لنصك.
هل يمكن عكس MD5؟
لا يمكن عكس أي تجزئة رياضياً، لكن تجزئة MD5 للمدخلات القصيرة أو الشائعة تُعثر عليها بسهولة في جداول قوس قزح (rainbow tables). وهذا سبب آخر لعدم استخدامه لكلمات المرور.
كيف يُحسب MD5 دون دعم WebCrypto؟
لا توفّر المتصفحات MD5 في crypto.subtle، لذا تتضمن هذه الأداة تنفيذاً صغيراً بلغة TypeScript خالصة لـ RFC 1321، مُتحقَّقاً منه مقابل متجهات الاختبار الرسمية.
ملاحظات تقنية
ينتج MD5 ملخّصاً بطول 128 بتاً بمعالجة كل كتلة بحجم 512 بتاً في أربع جولات، تضم كل جولة 16 عملية (64 خطوة إجمالاً). لا تنفّذ المتصفحات MD5 في WebCrypto لأنه مكسور تشفيرياً، لذا تتضمن هذه الأداة تنفيذاً مضغوطاً للخوارزمية المرجعية. وهي تعالج بايتات UTF-8 للمدخلات.
المراجع
- FIPS 180-4: Secure Hash Standard (SHS)المعيار الفيدرالي الأمريكي الذي يحدد عائلة دوال التجزئة SHA-1 وSHA-2.
- RFC 6234: US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)أوصاف مرجعية وشيفرة لـ SHA-1 وSHA-224/256/384/512 واستخدامها في HMAC.
- RFC 1321: The MD5 Message-Digest Algorithmالتعريف الأصلي لـ MD5. تُعدّ MD5 اليوم مكسورة للتوقيعات وكلمات المرور، وتبقى مفيدة كمجموع تحقق فقط.