الشرح
كيف يعمل مولّد التجزئة
يحسب مولّد الـ hash مجاميع تحقق تشفيرية لأي نصوص مباشرة في المتصفح. يُرمَّز النص المُدخل بترميز UTF-8 ويُعالَج بخوارزمية SHA المختارة.
SHA-256 هو الخوارزمية الأكثر شيوعًا وينتج hash بطول 256 بت (64 حرفًا ست عشريًا). ينتج SHA-384 96 حرفًا ست عشريًا، وSHA-512 128 حرفًا ست عشريًا. تنتمي هذه الخوارزميات إلى عائلة SHA-2 التي وحّدها NIST في FIPS 180-4.
يمثّل hex وBase64 القياسي البايتات نفسها للـ digest. Base64 أكثر إحكامًا لكنه قد يحتوي على + و/ وحشو وليس آمنًا للروابط تلقائيًا.
الأخطاء الشائعة
- الخلط بين التجزئة والتشفير: الـ hash ليس تمثيلًا نصيًا قابلًا للعكس. للتشفير غرض مختلف وهو قابل للعكس بالمفتاح الصحيح.
- استخدام MD5 أو SHA-1 لأغراض الأمان: للخوارزميتين هجمات تصادم معروفة وتُعدّان غير آمنتين وفق BSI TR-02102-1.
- استخدام قيم SHA لتخزين كلمات المرور: قيم SHA البسيطة تُحسب بسرعة كبيرة. استخدم bcrypt أو scrypt أو Argon2 مع salt وعامل عمل.
- تفسير تساوي قيم الـ hash على أنه تطابق: تساوي قيم الـ hash يعني تساوي الإدخال باحتمال عالٍ جدًا، لكن ليس بيقين مطلق (إمكانية تصادم نظرية).
حدود هذه الأداة
- لا وظيفة salting — غير مناسبة لتخزين كلمات المرور.
- إدخال نصي فقط، لا ملفات (استخدم أدوات مخصّصة لتجزئة الملفات).
- لا وضع HMAC (تجزئة بمفتاح) — حساب hash بسيط فقط.
- لا تحقق مدمج مقابل قيم hash معروفة.
- لا تُوحَّد المسافات وفواصل الأسطر وتطبيع Unicode بل تُجزَّأ كجزء من إدخال UTF-8.
المصادر
- BSI TR-02102-1: الأساليب التشفيرية — التوصيات وأطوال المفاتيح. المكتب الاتحادي الألماني لأمن المعلومات.
- NIST FIPS 180-4: Secure Hash Standard (SHS). يُعرّف SHA-256 وSHA-384 وSHA-512.
- RFC 1321: MD5 Message-Digest Algorithm (تاريخي، غير موصى به للأمان).
- Web Crypto API: معيار W3C للعمليات التشفيرية في المتصفح (crypto.subtle.digest).