السلام عليكم
ما فائدة md5 sum
السلام عليكم
ما فائدة md5 sum
لينوكس Linux
برنامج الأربعين النووية, من برمجتي
بي اتش بي PHP
لا يوجد حاليا...
فيجوال بيسيك 6
الربط بين VisualBasic6 و SWiSH 2.0
شرح ملف المصادر Resource Editor
اسهل طريقة لعمل شورتكات (الاختصارات)
تعطيل alt+ctrl+del في ويندوز xp
تحويل التاريخ من الهجري إلى الميلادي والعكس
فيجوال بيسيك.نت
لا يوجد حاليا...
C++ With Qt
تستخدموه في حساب توقيعات الكتروني للتوزيعات لتحديد فيما اذا كنت قد حصلت على توزيعة فيها بيانات خاطئة او معطوبة
خذ كتلة من البيانات ولنقل انها 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
هو وسيلة من وسائل التأكد من صحة الملفات بعد عملية التحميل فهو عبارة عن رقم ناتج من بعض العلميات على محتويات الملف قبل عملية الارسال فلو حدث تغيير في هذه المحتويات و لو تغيير طفيف أثناء عملية الdownload أو النقل عامة بسبب مشكلة ما. فسيتغير هذا الرقم عند حسابه بعد الارسال . عن الرقم الذي تم حسابه قبل عملية الارسال
و هي عملية شهيرة و تسمى الCheck SUM و لها طرق كثيرة من ضمنها استخدام الMD5 Algorithm و هنا تسمى MD5 SUM
Sr. Software Development Engineer
Hulu, LLC
My Blogs
شكرا لكم جميعا
لينوكس Linux
برنامج الأربعين النووية, من برمجتي
بي اتش بي PHP
لا يوجد حاليا...
فيجوال بيسيك 6
الربط بين VisualBasic6 و SWiSH 2.0
شرح ملف المصادر Resource Editor
اسهل طريقة لعمل شورتكات (الاختصارات)
تعطيل alt+ctrl+del في ويندوز xp
تحويل التاريخ من الهجري إلى الميلادي والعكس
فيجوال بيسيك.نت
لا يوجد حاليا...
C++ With Qt
الإخوان ماقصروا لكن احب ان أن إضيف إلى ماقالوه..
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
إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.
before asking: smart questions how-to
هذا الموضوع مغلق.