تخطَّ إلى المحتوى

إنشاء هاش

MD5 وSHA-1 وSHA-256 وSHA-384 وSHA-512، لنص أو لملف بأي حجم. مفيد للتحقق من أن ملفًا منزَّلًا يطابق المجموع الاختباري المنشور له. لا يُخزَّن أي شيء.

  • لا يُخزَّن أبدًا
  • لا طابور ولا انتظار
  • دون تسجيل ودون علامة مائية

يُحسب الهاش للنص بترميز UTF-8. أفلِت ملفًا بدلًا من ذلك للتحقق من ملف تم تنزيله.

كيف تعمل الأداة

1

الصق نصًا أو أفلِت ملفًا

يُحسب الهاش للنص بترميز UTF-8. ويُقرأ الملف ويُحسب الهاش له هنا؛ ولا يُخزَّن أبدًا.

2

اقرأ كل الهاشات دفعة واحدة

تُحسب الخوارزميات الخمس كلها معًا، فلا تحتاج إلى أن تعرف مسبقًا أيها تحتاج.

3

قارن بقيمة متوقعة

الصق المجموع الاختباري الذي حصلت عليه وستتم المطابقة نيابةً عنك — فالمقارنة بالعين حرفًا حرفًا هي حيث تقع الأخطاء.

ما الذي يثبته الهاش، وما الذي لا يثبته

الهاش بصمة ثابتة الطول لأي كمية من البيانات، وله خاصيتان تستحقان التوضيح بدقة. فهو أحادي الاتجاه — لا توجد عملية تعيد الهاش إلى البيانات، لأن معظم المعلومات قد ضاعت تقريبًا. وهو حسّاس: غيّر بتًا واحدًا في المُدخل فيتغير نحو نصف بتات المُخرج. وهذا ما يجعله مفيدًا للتأكد من أن ملفًا نُزّل سليمًا، أو أن ملفين متطابقان دون مقارنتهما بايتًا بايتًا.

MD5 وSHA-1 مكسورتان وموجودتان هنا مع ذلك، لسبب. فلكلتيهما هجمات تصادم عملية — MD5 منذ 2004، وSHA-1 أُثبت بزوج حقيقي من ملفات PDF في 2017 — ما يعني أن شخصًا ما يستطيع إنشاء ملفين مختلفين بالهاش نفسه. لذا لا تثبت أيٌّ منهما شيئًا في مواجهة خصم. لكن كلتيهما لا تزال جيدة تمامًا في اكتشاف التلف العَرَضي، ولا يزال كثير من البرامج الحقيقية ينشر مجاميع اختبارية بـ MD5، لذا فإن التحقق من ملف منزَّل مقابل أحدها حاجة مشروعة. استخدم SHA-256 في أي حالة قد يحاول فيها أحد خداعك.

لا تستخدم أيًّا من هذه الدوال لحساب هاش كلمة مرور أبدًا. هذا أهم ما في الصفحة. فدوال الهاش مصممة لتكون سريعة، والسرعة هي بالضبط الخطأ مع كلمات المرور: بطاقة رسومات حديثة تحسب مليارات من هاشات SHA-256 في الثانية، لذا تُكسَر قاعدة بيانات مسروقة من كلمات المرور المُهشَّرة في ساعات. تخزين كلمات المرور يحتاج إلى دالة بطيئة عمدًا مع ملح (salt) لكل مستخدم — argon2 أو bcrypt أو scrypt — وهي مبنية لتستهلك الوقت والذاكرة عن قصد. وهاش SHA-256 مجرد لكلمة مرور ثغرة لا حماية، مهما بدا شكله في عمود قاعدة البيانات.

مقارنة هاش حسبته بهاش منشور في الصفحة نفسها التي نزّلت منها الملف تثبت أقل مما تبدو: فمن استطاع استبدال الملف استطاع استبدال الرقم بجانبه. والمجموع الاختباري تكون قيمته أكبر حين يأتي من مكان آخر — إصدار موقَّع، أو قناة منفصلة، أو قيمة سجّلتها أنت بنفسك سابقًا.

عندما تحتاج إلى شيء آخر

في سطر الأوامر هذا أمر من كلمة واحدة: shasum -a 256 file على macOS وLinux، وcertutil -hashfile file SHA256 على Windows، وmd5sum أو sha1sum حين يكون المنشور مجموعًا اختباريًا أقدم. وهي تعالج الملف كتدفق بدلًا من تحميله، لذا لا حد للحجم — وهذا هو الفرق الحقيقي مع أي ملف يتجاوز بضع مئات من الميغابايتات، حيث ستفشل ببساطة صفحة تحتفظ بالملف كاملًا في الذاكرة.

للتحقق من أن إصدارًا ما أصلي لا مجرد سليم، فالهاش وحده هو الأداة الخطأ. توقيعات GPG — gpg --verify file.sig file — تثبت من أنتج الملف، وهو السؤال الذي لا يستطيع المجموع الاختباري الإجابة عنه. ومعظم المشاريع الجادة تنشر الاثنين، والتوقيع هو الذي يهم.

الأسئلة الشائعة

هل يُخزَّن ملفي في أي مكان؟

لا. يُحسب هاش الملف بوظائف التشفير المدمجة نفسها التي تتولى HTTPS. لا يُخزَّن أي شيء، لذا لا يوجد حد أقصى للحجم ولا انتظار لاتصال.

هل هناك حد للحجم؟

الذاكرة المتاحة، لا حد ثابت للحجم. فوظائف التشفير في المتصفح لا تستطيع حساب هاش ملف على أجزاء — بل تحتاج إلى الملف كاملًا في الذاكرة دفعة واحدة — لذا قد يفشل ملف كبير جدًا (صورة قرص DVD مثلًا) على جهاز لا يستطيع الاحتفاظ به. الملفات التي تصل إلى بضع مئات من الميغابايتات لا مشكلة فيها على حاسوب عادي. وإذا فشل ملف كبير، فهذا هو الحد الذي بلغته، وتخبرك الصفحة بذلك بدلًا من أن تتجمد.

أي هاش أستخدم؟

SHA-256 لأي شيء جديد. إنه الخيار الافتراضي الحديث، وهو ما تستخدمه المجاميع الاختبارية للبرامج وبصمات الحاويات وأنظمة البلوك تشين، ولا توجد فيه نقاط ضعف معروفة. استخدم MD5 أو SHA-1 فقط حين يتطلبهما شيء آخر — مطابقة مجموع اختباري قديم منشور، أو نظام قديم، أو Git الذي يعرّف الكائنات بـ SHA-1. واستخدم SHA-512 حين تريد تحديدًا بصمة أطول؛ فعلى أجهزة 64 بت كثيرًا ما يكون أسرع من SHA-256 لا أبطأ.

هل يمكنني استخدام هذه الأداة لحساب هاش كلمة مرور؟

يمكنك ذلك، لكن لا ينبغي أن تخزّن النتيجة. هذا أكثر خطأ شائع في هذا المجال، لذا يستحق أن نكون مباشرين: MD5 وSHA-1 وSHA-256 كلها خاطئة لكلمات المرور، وقوة SHA-256 التشفيرية لا تفيد هنا. المشكلة أن هذه الدوال سريعة بحكم التصميم — فبطاقة رسومات حديثة تحسب مليارات من هاشات SHA-256 في الثانية، لذا تُكسَر قاعدة بيانات مسروقة من هاشات SHA-256 لكلمات المرور بسرعة هائلة. كلمات المرور تحتاج إلى دالة بطيئة عمدًا ومملّحة ومصممة لهذا الغرض: bcrypt أو scrypt أو Argon2. وكل إطار عمل جاد يأتي بواحدة منها مدمجة.

لماذا MD5 موسومة بأنها مكسورة؟

لأن أي شخص يستطيع الآن إنشاء ملفين مختلفين بهاش MD5 نفسه، على أجهزة عادية، في ثوانٍ. هذا صحيح منذ 2004، وقد ثبت بعواقب حقيقية وفعلية — ملفا PDF يعرضان عقدين مختلفين، وملفان تنفيذيان أحدهما برنامج خبيث. لذا لا تستطيع MD5 إثبات أن الملف هو الملف الذي توقعته؛ فالتزوير المتعمد قد يطابقه. لكنها لا تزال معقولة تمامًا لاكتشاف التلف العَرَضي، مثل تنزيل معطوب أو نسخة مقطوعة، وهو الغرض الفعلي لمعظم مجاميع MD5 الاختبارية المنشورة. ويجب ألا تُستخدم أبدًا لأغراض الأمان.

لماذا SHA-1 موسومة بأنها مكسورة؟

للسبب نفسه، في وقت أقرب. في 2017 أنتجت Google وCWI ملفَي PDF مختلفين بهاش SHA-1 نفسه، وبحلول 2020 أصبح الهجوم رخيصًا بما يكفي لتزوير التوقيعات. توقفت المتصفحات عن قبول شهادات SHA-1 منذ سنوات، وGit في طور الانتقال بعيدًا عنها. وإذا كنت تختار خوارزمية اليوم، فاختر SHA-256.

كيف أتحقق من ملف منزَّل؟

أفلِت الملف المنزَّل، ثم الصق المجموع الاختباري من الموقع الذي حصلت منه عليه في مربع المقارنة. إذا تطابقا، فقد وصل الملف سليمًا وهو الملف الذي نُشر. وإن لم يتطابقا، فاحذفه ونزّله مرة أخرى. وتنبيهان: احصل على المجموع الاختباري من المصدر الرسمي لا من المكان الذي حصلت منه على الملف، وتذكّر أن المجموع الاختباري يثبت فقط أن الملف يطابق ما نشرته تلك الصفحة — فإذا اختُرقت الصفحة نفسها، فسيتطابق الاثنان.

هل تُحسب الهاشات بشكل صحيح؟

SHA-1 وSHA-256 وSHA-384 وSHA-512 تأتي من تطبيق Web Crypto المدمج في المتصفح، وهو الكود نفسه الذي يتولى HTTPS. أما MD5 فليست ضمن Web Crypto — عن قصد، لأنها مكسورة — لذا فهي مطبّقة هنا مباشرة وفق RFC 1321 ومُختبرة مقابل متجهات الاختبار المنشورة في تلك الوثيقة نفسها.

معلومة مفيدة: MD5 وSHA-1 موجودتان هنا لأن ملفات حقيقية وأنظمة قديمة لا تزال تستخدمهما، لا لأنهما آمنتان — فكلتاهما مكسورة في أي استخدام أمني ولا تصلحان إلا كمجموع اختباري (checksum). ولا يوفّر Web Crypto حسابًا تدريجيًا للهاش، لذا يُحتفظ بالملف كاملًا في الذاكرة: الملفات الكبيرة جدًا ستفشل بدلًا من معالجتها كتدفق.

أضِف هذه الأداة إلى موقعك

مجانية لأي مدونة أو صفحة فصل دراسي أو مقالة مساعدة. الصق مقتطفًا واحدًا وسيتمكن زوارك من استخدامها مباشرةً على صفحتك.