مولّد التجزئة (SHA-256)
اكتب نصًا أو الصقه، واحسب تجزئات SHA-256 وSHA-1 وSHA-384 وSHA-512 بنقرة واحدة، معروضة بالسداسي العشري بأحرف صغيرة أو كبيرة، مع زر نسخ لكل قيمة. تعمل التجزئة عبر واجهة Web Crypto API على بايتات UTF-8 للنص، فلا يُرفَع شيء. مجاني ودون تسجيل. تُجزِّئ النص فقط، لا الملفات.
كيفية استخدام مولّد التجزئة
- 1. أدخل نصك. أي نص، في حدود ما يستطيع مربع النص في متصفحك أن يحمله.
- 2. اضغط إنشاء قيم التجزئة. تظهر الخوارزميات الأربع معًا، مع تمييز SHA-256 بوصفها الخيار الموصى به.
- 3. اختر حالة الأحرف. سداسي عشري بأحرف كبيرة يبدّل كل ملخّص بين الأحرف الصغيرة (الاتفاقية المعتادة) والكبيرة؛ والبايتات الأساسية واحدة في الحالتين.
- 4. انسخ الملخّص الذي تحتاجه بالزر المجاور له.
الخوارزميات الأربع
SHA-1 وSHA-256 وSHA-384 وSHA-512 معرّفة في معيار التجزئة الآمن (Secure Hash Standard) الصادر عن الحكومة الأمريكية، FIPS 180-4. تحوّل كل منها أي مُدخَل إلى ملخّص ذي حجم ثابت. والحجم هو الفرق الوحيد الظاهر في الناتج:
| الخوارزمية | حجم الملخّص | المحارف السداسية العشرية | الحالة |
|---|---|---|---|
| SHA-1 | 160 بت | 40 | مكسورة أمنيًا: نُشر أول تصادم عملي عام 2017، وتوصي NIST بالتخلي عنها بحلول 2030. للمجاميع الاختبارية القديمة فقط. |
| SHA-256 | 256 بت | 64 | الخيار القياسي للتحقق من السلامة والتواقيع |
| SHA-384 | 384 بت | 96 | من عائلة SHA-2؛ نسخة مقتطعة من SHA-512 |
| SHA-512 | 512 بت | 128 | من عائلة SHA-2؛ غالبًا أسرع من SHA-256 على المعالجات 64 بت |
التجزئة التشفيرية بصمة أحادية الاتجاه. المُدخَل نفسه يُنتج الملخّص نفسه دائمًا، وأي تغيير طفيف يُنتج ملخّصًا لا علاقة له بالأول، ولا يمكن استرجاع النص من الملخّص. لا تُقدَّم MD5 لأن واجهة Web Crypto API لا تنفّذها.
مثال تطبيقي
النص
abc
SHA-256
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
SHA-1
a9993e364706816aba3e25717850c26c9cd0d89d
هاتان القيمتان من متجهات الاختبار المنشورة ضمن أمثلة المعيار، فيمكنك التحقق من الأداة أمام مصدر تثق به. وانظر الآن إلى أثر تغيير حرف واحد: تغيير "dog" إلى "cog" في The quick brown fox jumps over the lazy dog:
…dog
d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
…cog
e4c4d8f3bf76b692de791a173e05321150f7a345b46484fe427f6acc7ecc81be
لا تشترك هذه الملخّصات الخاصة بـ SHA-256 في شيء يمكن التعرف عليه: يختلف 123 بتًا من البتات الـ256، أي ما يقارب النصف المتوقَّع من قيم غير مرتبطة. هذا هو تأثير الانهيار (avalanche)، ولهذا يمكن للتجزئة أن تُظهر أن ملفًا أو رسالة تغيّرا، دون أن تكشف ما الذي تغيّر.
لماذا قد لا تتطابق تجزئتك؟
- سطر جديد في النهاية.
abcوabcمتبوعًا بسطر جديد مُدخَلان مختلفان: تجزئة SHA-256 لـabcمع سطر جديد تبدأ بـedeaaff3لا بـba7816bf. الأمرecho abc | sha256sumيُجزّئ السطر الجديد أيضًا؛ استخدمprintfأوecho -nلاستبعاده. - حالة الأحرف والمسافات.
Abcتُجزَّأ بشكل مختلف عنabc، وكذلك المسافة في أي طرف من النص. - الترميز. تُجزِّئ الأداة بايتات UTF-8 لما كتبته. النص المُجزَّأ بترميز UTF-16 أو Latin-1 في مكان آخر يعطي ملخّصًا مختلفًا لأي حرف غير ASCII.
- نهايات الأسطر. النص المنسوخ من ملف Windows قد يحمل أحرف عودة إلى بداية السطر (carriage return) يزيلها مربع النص.
ما ليست هذه الأداة له
- الملفات. تُجزِّئ النص فقط. للملف استخدم
shasum -a 256 fileعلى macOS أو Linux، أوcertutil -hashfile file SHA256على Windows. - كلمات المرور. SHA-256 مصمَّمة لتكون سريعة، وهذا يساعد المهاجم على تخمين كلمات المرور. خزّن كلمات المرور بدالة تجزئة بطيئة ومملَّحة مثل Argon2id أو scrypt أو bcrypt.
- التجزئات ذات المفتاح. لا يوجد خيار HMAC أو ملح (salt).
أي أداة تحتاج؟
لعرض السداسي العشري للنص نفسه بدلًا من ملخّصه، استخدم أداة التحويل السداسي العشري. ولمعرّف عشوائي، استخدم مولّد UUID، ولكلمة مرور عشوائية مولّد كلمات المرور.
الأسئلة الشائعة
- هل يُرفَع نصي إلى خادم؟
- لا. تُحسَب كل قيمة تجزئة في متصفحك باستخدام واجهة Web Crypto API (crypto.subtle.digest). لا يُرسَل نصك إلى أي مكان، والأداة تواصل العمل إذا انقطع اتصالك بالإنترنت بعد تحميل الصفحة.
- ما دالة التجزئة التشفيرية؟
- دالة تحوّل مُدخَلًا بأي طول إلى ملخّص ثابت الطول. وهي حتمية (المُدخَل نفسه يعطي الملخّص نفسه)، وأحادية الاتجاه، وحساسة لكل بت في المُدخَل. تُستخدَم التجزئات للتحقق من سلامة الملفات، وفي التواقيع الرقمية، وفي معرّفات الإيداعات (commits)، وغير ذلك.
- أي خوارزمية تجزئة يجب أن أستخدم؟
- SHA-256 لمعظم الاستخدامات. تعطي SHA-384 وSHA-512 ملخّصات أطول من العائلة نفسها. استخدم SHA-1 فقط إذا كان نظام قديم يشترطها، ولا تستخدمها أبدًا للأمان.
- هل SHA-1 آمنة للاستخدام؟
- ليس للأمان. أنتج هجوم SHAttered عام 2017 ملفَّي PDF مختلفين لهما الملخّص نفسه بـ SHA-1، وتوصي NIST بالتخلي عنها بحلول نهاية 2030. ما زالت مقبولة للمجاميع الاختبارية غير الأمنية حين لا يكون المهاجم مصدر قلق.
- لماذا لا يوجد خيار MD5؟
- لا تنفّذ واجهة Web Crypto API خوارزمية MD5، والأداة تستخدم فقط ما يوفّره المتصفح. أصبحت MD5 غير مناسبة للأمان منذ سنوات طويلة.
- هل يمكنني تجزئة ملف بهذه الأداة؟
- لا، تقبل الأداة النص فقط. استخدم أداة سطر الأوامر في نظام التشغيل للملفات كما ورد أعلاه.
- لماذا يختلف SHA-256 عن موقع آخر؟
- غالبًا لأن المُدخَل يختلف بمحرف غير مرئي، مثل سطر جديد أو مسافة في النهاية، أو لأن ترميز النص مختلف. افحص البايتات الدقيقة باستخدام أداة التحويل السداسي العشري.