ما هي MD5 و SHA-1 و SHA-256 Hash ، وكيف يمكنني التحقق منها؟
سترى أحيانًا تجزيئات MD5 أو SHA-1 أو SHA-256 المعروضة جنبًا إلى جنب مع التنزيلات أثناء رحلاتك عبر الإنترنت ، ولكنك لا تعرف ما هي عليه بالفعل. تتيح لك هذه النصوص التي تبدو عشوائية في النص التحقق من عدم تلف الملفات أو تنزيلها. يمكنك القيام بذلك باستخدام الأوامر المدمجة في Windows و MacOS و Linux.
كيف تعمل الهوم ، وكيف يتم استخدامها للتحقق من البيانات
هي عبارة عن منتجات خوارزميات مجفرة مصممة لإنتاج سلسلة من الأحرف. غالبًا ما تكون لهذه السلاسل طول ثابت ، بغض النظر عن حجم بيانات الإدخال. ألق نظرة على الرسم البياني أعلاه وسترى أن كلا من "فوكس" و "الثعلب الأحمر يقفز فوق الكلب الأزرق" ينتج نفس طول الطول.
قارن الآن المثال الثاني في المخطط إلى الثالث والرابع والخامس. سترى أنه على الرغم من حدوث تغيير طفيف للغاية في بيانات الإدخال ، إلا أن الفروق الناتجة كلها مختلفة تمامًا عن بعضها البعض. حتى إذا قام شخص ما بتعديل جزء صغير جدًا من بيانات الإدخال ، فسيتم تغيير التجزئة بشكل كبير.
MD5 و SHA-1 و SHA-256 كلها وظائف هاش مختلفة. غالبًا ما يأخذ منشئو البرامج ملفًا يشبه تنزيل ملف Linux ، أو حتى ملف .exe بتنسيق Windows ، ويتم تشغيله عبر وظيفة هاش. ثم يعرضون قائمةً رسميةً بالمتجريدات على مواقعهم الإلكترونية.
وبهذه الطريقة ، يمكنك تنزيل الملف ثم تشغيل وظيفة التجزئة للتأكد من امتلاكك للملف الأصلي الحقيقي وعدم تلفه أثناء عملية التنزيل. كما رأينا أعلاه ، فإن تغييرًا بسيطًا في الملف سيغير التجزئة بشكل كبير.
يمكن أن يكون ذلك مفيدًا أيضًا إذا كان لديك ملف حصلت عليه من مصدر غير رسمي وتريد تأكيد أنه شرعي. لنفترض أن لديك ملف Linux .ISO حصلت عليه من مكان ما وتريد تأكيد أنه لم يتم العبث به. يمكنك البحث عن تجزئة ملف ISO المحدد على الإنترنت على موقع توزيع Linux. يمكنك بعد ذلك تشغيلها من خلال وظيفة التجزئة على جهاز الكمبيوتر الخاص بك وتأكيد أنها تتطابق مع قيمة التجزئة التي تتوقعها. هذا يؤكد أن الملف الذي لديك هو نفس الملف الذي يتم عرضه للتنزيل على موقع توزيع Linux ، دون أية تعديلات.
لاحظ أنه تم العثور على "تصادم" مع وظائف MD5 و SHA-1. هذه ملفات متعددة متعددة - على سبيل المثال ، ملف آمن وملف ضار- ينتج عنه نفس MD5 أو SHA-1 التجزئة. لهذا السبب يجب أن تفضل SHA-256 عندما يكون ذلك ممكنًا.
كيفية مقارنة دالات هاش في أي نظام تشغيل
مع أخذ ذلك في الاعتبار ، دعنا نلقي نظرة على كيفية التحقق من تجزئة الملف الذي قمت بتنزيله ، ومقارنته بالمثيل الذي أعطيته. فيما يلي طرق لـ Windows و MacOS و Linux. ستكون الرتوش متماثلة دائمًا إذا كنت تستخدم نفس وظيفة التجزئة على نفس الملف. لا يهم أي نظام تشغيل تستخدمه.
شبابيك
هذه العملية ممكنة بدون أي برنامج تابع لجهة خارجية على Windows بفضل PowerShell.
للبدء ، افتح نافذة PowerShell عن طريق تشغيل الاختصار "Windows PowerShell" في قائمة "ابدأ".
قم بتشغيل الأمر التالي ، مع استبدال "C: \ path \ to \ file.iso" بالمسار إلى أي ملف تريد عرض تجزئة:
Get-FileHash C: \ path \ to \ file.iso
سيستغرق تكوين تجزئة الملف بعض الوقت ، اعتمادًا على حجم الملف ، والخوارزمية التي تستخدمها ، وسرعة محرك الأقراص الذي تم تشغيل الملف عليه.
بشكل افتراضي ، سيُظهر الأمر التجزئة SHA-256 لملف. ومع ذلك ، يمكنك تحديد خوارزمية التجزئة التي تريد استخدامها إذا كنت بحاجة إلى MD5 أو SHA-1 أو أي نوع آخر من التجزئة.
قم بتشغيل أحد الأوامر التالية لتحديد خوارزمية التجزئة مختلفة:
Get-FileHash C: \ path \ to \ file.iso -Algorithm MD5
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA1
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA256
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA384
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA512
Get-FileHash C: \ path \ to \ file.iso -Algorithm MACTripleDES
Get-FileHash C: \ path \ to \ file.iso -Algorithm RIPEMD160
قارن نتيجة دالة هاش بالنتيجة التي تتوقع رؤيتها. إذا كانت القيمة نفسها ، فلم يتم إتلاف الملف أو العبث به أو غيره من الأصل.
ماك
يتضمن macOS أوامر لعرض أنواع مختلفة من التجزئة. للوصول إليها ، قم بتشغيل نافذة طرفية. ستجده في Finder> Applications> Utilities> Terminal.
ال MD5
يعرض الأمر تجزئة MD5 في ملف:
md5 / المسار / إلى الملف
ال shasum
يظهر الأمر تجزئة SHA-1 في ملف افتراضيًا. وهذا يعني أن الأوامر التالية متطابقة:
shasum / المسار / الى الملف
shasum -a 1 / path / to / file
لإظهار تجزئة SHA-256 لملف ، قم بتشغيل الأمر التالي:
shasum -a 256 / path / to / file
لينكس
في نظام التشغيل Linux ، قم بالوصول إلى Terminal وتشغيل أحد الأوامر التالية لعرض تجزئة الملف ، اعتمادًا على نوع التجزئة الذي ترغب في عرضه:
md5sum / path / to / file
sha1sum / المسار / إلى / الملف
sha256sum / المسار / إلى / الملف
يتم تسجيل بعض Hashes Cryptographically من أجل المزيد من الأمان
على الرغم من أن التجزئة قد تساعدك على تأكيد عدم التلاعب بالملف ، فلا يزال هناك طريق واحد للهجوم هنا. يمكن للمهاجم أن يسيطر على موقع توزيعة لينكس ويقوم بتعديل التجزئات التي تظهر عليه ، أو يمكن أن يقوم مهاجم بهجوم رجل في الوسط ويقوم بتعديل صفحة الويب أثناء النقل إذا كنت تقوم بالوصول إلى الموقع عبر HTTP بدلاً من تشفير HTTPS.
هذا هو السبب في أن توزيعات لينكس الحديثة غالباً ما توفر أكثر من التجزئات المدرجة على صفحات الويب. وهي تقوم بتوقيع علامات التشفير هذه بطريقة تشفيرية للمساعدة في الحماية من المهاجمين الذين قد يحاولون تعديل التجزئات. ستحتاج إلى التحقق من توقيع التشفير للتأكد من أن ملف التجزئة قد تم توقيعه بالفعل من خلال توزيعة لينكس إذا كنت تريد أن تكون متأكدًا تمامًا من أنه لم يتم العبث بالتهزئة والملف..
التحقق من توقيع التشفير هو عملية أكثر انخراطا. اقرأ دليلنا على التحقق من أن نظام تشغيل Linux لم يتم العبث به للحصول على التعليمات الكاملة.
Image Credit: Jorge Stolfi / Wikimedia