الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما فائدة md5 sum

مغلق
بدأه المبرمج عبدالكريم في 2 سبتمبر 2006 · 4 رد · 952 مشاهدة · في نظام تشغيل Unix & Linux
مشاركة: واتساب X فيسبوك تيليجرام
#2

تستخدموه في حساب توقيعات الكتروني للتوزيعات لتحديد فيما اذا كنت قد حصلت على توزيعة فيها بيانات خاطئة او معطوبة

خذ كتلة من البيانات ولنقل انها 64بت اي 8بايت وقم بحساب توقيع MD5 لها,

ثم قم بتعديل بايت واحد فقط من هذه البايتات وقم بحساب التوقيع مرة اخرى وقارن بين التوقيعين.

اي بايت يتم تعديله في مستوى الكتلة التي تم حساب قيمة MD5 لها سيؤدي الى تغيير الناتج وبالتالي تحدد فيما اذا حصلت على نسخة كاملة ام معطوبة بمقارنة التوقيع لديك مع التوقيع في موقع التوزيعة التي حصلت عليها.

السلام عليكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

هو وسيلة من وسائل التأكد من صحة الملفات بعد عملية التحميل فهو عبارة عن رقم ناتج من بعض العلميات على محتويات الملف قبل عملية الارسال فلو حدث تغيير في هذه المحتويات و لو تغيير طفيف أثناء عملية الdownload أو النقل عامة بسبب مشكلة ما. فسيتغير هذا الرقم عند حسابه بعد الارسال . عن الرقم الذي تم حسابه قبل عملية الارسال

و هي عملية شهيرة و تسمى الCheck SUM و لها طرق كثيرة من ضمنها استخدام الMD5 Algorithm و هنا تسمى MD5 SUM

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#5

الإخوان ماقصروا لكن احب ان أن إضيف إلى ماقالوه..

MD5 معادلة رياضية تستخدمها كالآتي:-

1- تعطيه معطيات، بغض النظر عن طول تلك المعطيات.. سواءا كان طولها صفر او مالا نهاية بايت

2- المعادلة تستخدم تلك المعطيات، لتعطيك مخرجات

3- المخرجات ستكون دائما طولها 16 بايت بغض النظر عن طول المدخلات.. يعني بغض النظر عن طول المدخل سيكون المخرج 16 بايت

4- المخرجات موحدة -- unique -- لكل مدخل.. يعني لو قمت بتغيير حرف واحد من المدخلات حتى لو كان شيئا يسيرا سيظهر الفارق جليا في المخرجات كما قال xacker

5- لا يمكنك الحصول على المدخلات من خلال معرفتك للمخرجات.. يعني استحالة أعطيك مخرجات MD5 وتقوم بعملية حسابية عكسية من خلالها تحصل على المعطيات. هذا مستحيل من خلال الحساب.. الحل الوحيد هو من خلال التخمين فقط.. بعبارة أخرى من خلال Brute Force

الخطوة رقم 4 ليست سليمة في جميع الأحيان.. هناك حالات نادرة جدا من خلالها تحصل على مخرجات متطابقة بالرغم ان المدخلات غــيــــر متطابقة... لكن هذا نادر جدا واحتمال حدوثه قليل لذا يتم تجاهله لانه نادر الحدوث..

فوائد MD5 كثيرة.. منها على سبيل المثال لا الحصر:-

1- الـAuthentication.. هذا ليس لتشفير البيانات والكثير يخلط في هذا الأمر.. هذا فقط لإثبات الهوية و في نفس الوقت عدم إرسال كلمة السر في Clear text بطريقة موثوقة.. لمعرفة مزيد من التفاصيل لطريقة استخدام MD5 في الـAuthentication راجع فكرة عمل CHAP

2- لحفظ كلمات السر في قاعدة البيانات بحيث لا يتمكن احد من قراءة الكلمات السرية من باب الأمان والخصوصية الشخصية حتى الadministrator لا يستطيع معرفة الكلمة السرية..مثلا تخيل انك رجل عمرك 80 سنة والشيب أعطاك وقار وهيبة، وكانت كلمة سرك "ILoveYoungGirls"، حينها سيستهزئ بك الـadministrator بعدما يكتشف انك كبير في السن لكن مازلت مارهقا في تفكيرك -- يعني طفولة متأخرة.. وايضا في حال قام مخترق بسرقة قاعدة البيانات فإنه سيجد مخرجات md5 والتي ليست حرفيا كلمات السر، وبالتالي لن يستطيع استخدامها مباشرة في الـLogin

3- كما قال الإخوة.. يستخدم للتأكد من سلامة الملفات من التحريف والتغيير.. مثلا عندما تنزل برنامج من الموقع، وتريد التأكد ان الملفات المنزلة في جهازك لم يتم تغييرها في الطريق.. لذا تقوم بحساب MD5 لنسخة الملف لديك، ثم تقارنها مع الـMD5 لنسخة الملف نفسه في الخادم.. هذا المثال قد قمت بتطبيقه في مكتبة الكتب المفتوحة.. انقر هنا لتشاهد ان كل ملف لديه MD5 محسوب والذي يعتبر مرجع بالنسبة لك لتتأكد ان اماقمت بتنزيله لم يتم تحريفه لأي سبب

4- تستخدم للفحص السريع بين نوعين من البيانات.. فعوضا من ان تقوم بمقارنة كل حقل مع نظيره الآخر، تقوم بحساب الـMD5 لمجموعة البيانات الأولى والثانية، ثم تقارنهم مع بعض، فإذا تطابقا يعني الحقول متطابقة و ان اختلفا يعني الحقول غير متساوية.. هذا يتم تطبيقه في بروتوكولات عديدة منها بروتوكول MSTP وأيضا في بعض البرنامج فيما يتعلق بإستخدام الـCache عوضا من الحساب من جديد

5- أي استخدام آخر تفكر فيه.. المعادلة الرياضية هذه ليست موجهة لإستخدام محدد.. كل مافي الأمر انه يعطيك مخرجات موحدة لكل مدخل، و بتغيير المدخل يعطيك مخرجات مختلفة تماما.. فقط هذا.. وبنائا على هذا المبدأ تقوم بإستخدامه بأي طريقة..

أريد أن العب مع MD5:-

في اليونكس، عندك أمر اسمه md5.. استخدمه كالتالي

hostname# md5 -s fooooooooooooooooooooooooo
MD5 ("fooooooooooooooooooooooooo") = d8ddb7f40cd62df17ba7eddf2dc5f529

والآن سأقوم بحذف حرف واحد فقط ولاحظ كيف سيكون المخرج مختلفا

hostname# md5 -s foooooooooooooooooooooooo
MD5 ("foooooooooooooooooooooooo") = 62100359cf7f3392ad74f25d1705cf87

لاحظ اني استخدمت -s وهذا لحساب string.. يمكنك استخدام بيانات ملف معين لحساب الMD5 digest كالتالي:-

hostname# md5 test.txt
MD5 (test) = bcf988a8ea693a7ba330339d23f17a9e

والمثال الأخير لا يهتم بإسم الملف، بغض النظر من إسم الملف فالمخرجات لن تتأثر.. لانه فقط يقوم بالحساب من خلال البيانات داخل الملف، حتى تفهم القضية بالضبط قم بتطبيق الأمر التالي وستجد ان النتيجة بالضبط متطابقة:-

hostname# cat test.txt | md5
MD5 (test) = bcf988a8ea693a7ba330339d23f17a9e

إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.

post-21836-1257612765.gif

before asking: smart questions how-to

هذا الموضوع مغلق.

مواضيع مشابهة