مولّد الهاش (Hash)
أنشئ هاش MD5 وSHA-1 وSHA-256 وSHA-512 للنصوص أو للملفات بأي حجم، وتحقّق من المجاميع الاختبارية. كل شيء يعمل في متصفحك.
كيفية استخدام مولّد الهاش
- في قسم الهاش، اختر نص أو ملفات.
- للنص، اكتبه أو الصقه في النص المراد حساب هاشه. تتحدّث قيم الهاش أثناء الكتابة، ويعيد زر احسب الهاش حسابها عند الطلب.
- للملفات، أفلت ملفًا أو أكثر في منطقة الإفلات أو انقرها لاختيارها. يظهر شريط تقدّم للملفات الكبيرة، مع زر إلغاء.
- حدّد الخوارزميات التي تحتاجها (MD5 وSHA-1 وSHA-256 وSHA-512) وصيغة الإخراج: ست عشري بأحرف صغيرة، أو ست عشري بأحرف كبيرة، أو Base64.
- للتحقق من ملف منزَّل، الصق المجموع الاختباري (checksum) المنشور في المقارنة مع هاش متوقَّع (اختياري). تخبرك الأداة بالخوارزمية المطابقة، أو بعدم وجود أي تطابق.
ما هو الهاش؟
دالة التجزئة (الهاش) التشفيرية تحوّل أي مُدخل، سواء كان كلمة واحدة أو صورة قرص بحجم 50 GB، إلى بصمة قصيرة ثابتة الطول. المُدخل نفسه يعطي دائمًا الهاش نفسه، وتغيير بت واحد فقط في المُدخل يغيّر النتيجة كليًا. ولا يمكن عكس الهاش لاستعادة المُدخل الأصلي.
| الخوارزمية | حجم الناتج | الطول بالست عشري | الحالة |
|---|---|---|---|
| MD5 | 128 بت | 32 حرفًا | مكسورة: للمجاميع الاختبارية فقط |
| SHA-1 | 160 بت | 40 حرفًا | مكسورة: أُثبتت التصادمات عام 2017 |
| SHA-256 | 256 بت | 64 حرفًا | آمنة، وهي المعيار الحالي |
| SHA-512 | 512 بت | 128 حرفًا | آمنة، وغالبًا أسرع على معالجات 64 بت |
على سبيل المثال، هاش SHA-256 للنص abc هو ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad.
التحقق من ملف منزَّل
كثيرًا ما ينشر مطوّرو البرمجيات مجموعًا اختباريًا بصيغة SHA-256 بجوار ملفاتهم. بعد التنزيل، افتح وضع ملفات، وأفلت الملف، والصق القيمة المنشورة في حقل المقارنة. التطابق يثبت أن الملف لم يتلف أثناء التنزيل وأنه مطابق للملف الذي حسب الناشر هاشه. لكنه لا يثبت أن الناشر نفسه جدير بالثقة، فلذلك يجب أن يأتي المجموع الاختباري نفسه من مصدر موثوق، كموقع HTTPS أو إصدار موقَّع رقميًا.
كيف تُعالَج الملفات الكبيرة
تُقرأ الملفات محليًا ولا تُرفع أبدًا. الملفات حتى 64 MB يُحسب هاشها دفعة واحدة باستخدام واجهة Web Crypto المدمجة في متصفحك. أما الملفات الأكبر فتُقرأ على أجزاء بحجم 4 MB وتُمرَّر إلى دوال تجزئة تدريجية، فيبقى استهلاك الذاكرة ثابتًا ويمكن حساب هاش ملفات بحجم عدة غيغابايتات. على حاسوب عادي، توقّع بضع مئات من الميغابايتات في الثانية مع SHA-256.
النص والترميز ونهايات الأسطر
يُحسب الهاش على البايتات لا على الحروف. تُرمّز هذه الأداة النص بترميز UTF-8، وهو المعيار على الويب وفي معظم لغات البرمجة، وهذا يشمل النصوص العربية أيضًا. إذا حصلت على نتيجة مختلفة في مكان آخر، فابحث عن فروق خفية: سطر جديد في النهاية (الأمر echo "abc" | sha256sum يحسب هاش abc\n؛ استخدم echo -n)، أو نهايات أسطر Windows (\r\n)، أو ترميز آخر مثل UTF-16.
الأسئلة الشائعة
هل يمكنني استخدام MD5 أو SHA-1 لتخزين كلمات المرور؟
لا، ولا SHA-256 المجرّد كذلك. صُمّمت هذه الدوال لتكون سريعة، فيستطيع المهاجم تجربة مليارات التخمينات في الثانية. تحتاج كلمات المرور إلى خوارزمية بطيئة مع ملح (salt) مثل Argon2 أو bcrypt أو scrypt.
هل لا يزال MD5 مفيدًا؟
نعم، لاكتشاف التلف العرضي، أو إزالة الملفات المكررة، أو المطابقة مع قائمة مجاميع اختبارية قديمة. لكن لا يجوز الاعتماد عليه ضد التلاعب المتعمَّد، لأن أي شخص يستطيع إنشاء ملفين مختلفين لهما قيمة MD5 نفسها.
هل تُرفع ملفاتي؟
لا. يقرأ متصفحك الملفات ويحسب هاشها بنفسه. لا يُرسل أي شيء إلى خادم، لذا يمكنك حساب هاش المستندات السرية.
لماذا لا يطابق الهاش الذي حصلت عليه ما يعطيه سطر الأوامر؟
يكون المُدخل مختلفًا في أغلب الأحيان: سطر جديد في النهاية، أو مسافات، أو نهايات الأسطر، أو ترميز النص. وبالنسبة للملفات، تأكّد من اكتمال التنزيل، فبايت واحد مفقود يعطي هاشًا مختلفًا تمامًا.
ما الفرق بين الإخراج الست عشري وBase64؟
هما طريقتان لكتابة البايتات نفسها. الصيغة الست عشرية هي المعتادة للمجاميع الاختبارية، أما Base64 فأقصر وتُستخدم مثلًا في سمات Subresource Integrity (sha256-…). ويقبل حقل المقارنة الصيغتين كلتيهما.
أدوات ذات صلة
- ترميز Base64 وفك ترميزه أداة مجانية لترميز Base64 وفك ترميزه مع دعم كامل لـ UTF-8 والعربية وخيار base64url الآمن للروابط. تعمل كليًا في متصفحك دون رفع أي شيء.
- مولد UUID مولد UUID مجاني للإصدارين 4 و7. أنشئ حتى 1000 معرّف دفعةً واحدة، بأحرف كبيرة أو دون شرطات، ثم انسخها أو نزّلها كملف .txt.
- اختبار التعبيرات النمطية (Regex) اختبر تعبيرات JavaScript النمطية مباشرةً مع إبراز التطابقات ومجموعات الالتقاط والاستبدال وشرح واضح لكل جزء من النمط.