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

ما اهمية الخوارزمية Md5 في حماية البرنامج

بدأه يوسف دايت في 25 مايو 2008 · 9 رد · 1,839 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الإخوة الأفاضل السلام عليكم ورحمة الله

مرفق مثال بسيط عن الخوارزمية MD5

وبالطبع هي معقدة وأنا (متعقد) كذلك من كلمة تشفيير وخاصة بعدما وجدت كم هائل من الخوارزميات ولكن في النهاية بعد كل التعب والتشفيير سنصل الي عمل مقارنة يعني شرط وهنا تاتي الأخت IF ويصبح كل شيء مكشوف امام الأسمبلي

ويصبح الوصول الي القفزة مسألة بسيطة فلماذا كل هذا التعقيد في خوارزميات منها ما يعمل في اتجاهيين ومنها ما هو أحادي الإتجاه مثل MD5 التي تعمل في إتجاه واحد فقط وهي تقوم بعمل توقيع علي النص وليس تشفيير كما فهمت ولانها تعمل في إتجاه واحد فانه يصعب فك الناتج إلا بعمل تتبع ببرنامج خاص وهذا ليس المهم المهم هو ما فائدة تلك الخوارزمية الرهيبة التي وجدت العشرات من المواقع المتخصصة في فك التوقيع الناتج منها وكيف يستفاد منها في حماية البرامج

ومرفق لكم مثال بسيط حصلت عليه من موقع اجنبي وصاحب المثال هو الاخ الفاضل محمد سيد

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

ولو سمحتم يكون التطبيق علي المثال المرفق

وشكرا جزيلا لكم

MD5.rar

#2

لو تكرمت بالرد اكون شاكر لكم

#3

للرفع

#4

شوف يا اخي بالنسبه لل md5 لا يستخدم للتشفير لكن يستخدم لمعرفة هل تم اللعب بامحتوى اثناء الطريق ام لا

و مثال للتوضيح: لو اردت ان تشتري شيء عن طريق الفيزا من الانترنت فان المتصفح يقوم بعمل md5 لرقم الفيزا الذي وضعته ثم عند شركة الاستقبالتقوم بفحص md5 لمعرفة هل تم تغيير المحتوى اثناء الارسال ام لا اما التشفير يوجد استراجيات اخرى و اسهلها استخدام xor بحيث ان كل حرف تعمل له xor مع حرف اخر فينتج حرف ثالتث مشفر و هكذا ..... ارجو ان اكون وضحت لك

المهندس

#5
اقتباس
شوف يا اخي بالنسبه لل md5 لا يستخدم للتشفير لكن يستخدم لمعرفة هل تم اللعب بامحتوى اثناء الطريق ام لا

هل يمكنك التوضيح أكثر

لاني حسب ماأعرف فهي خوارزمية تشفير باتجاه واحد

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

أما عن الذي تتحدث عنه فربما تقصد استعمال الPublic Key والتوقيع الرقمي

#6
اقتباس
وكيف يستفاد من النص الناتج من عملية التشفيير

بشكل عام التشفيير يستخدم لاخفاء معلومات مهمة وحساسة ويوجد نوعين

النوع الاول بالاتجاهين اي يمكن التشفير وفك التشفير وهذه تستخدم لاخفاء معلومات ما وبعد ذلك نحتاج الى استرجاع هذه المعلومات مثل رقم الفيزا كارد . حيث يتم تشفيرها بالتالي اذا تمكن احد ما من الوصول الى قاعدة البيانات وفتح الجدول (مثلا مبرمج ) فلا يستطيع معرفة رقم الفيزا النوع الثانية التشفير باتلانه مشفرة ( المفروض ان تكون الخوارزمية سرية وليس كل المبرمجين يعرفوا بها :) )

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

ففي مثل هذه الحالة فمثلا عندما تريد الدخول الى الويندوز وتدخل كلمة المرور يتم تشفيير هذه الكلمة ومقارنتها مع الكلمة الاصلية المشفرة والمخزنة في الجهاز

والله اعلى واعلم

,للاسستزادة من المعلومات اعتقد في قسم C++ يوجد شرح مفصل عن الخوارزميات

تم تعديل هذه المشاركة بواسطة TareqVB في 26 مايو 2008 في 14:32

#7

أشكر المهندس اشرف والاخ Dream net

وبالتاكيد وهذا ما قلته انها لعمل توقيع علي النص المدخل بها وليست للتشفيير لأنها ذات إتجاه واحد

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

كما ان احد الاخوة قال لي انها تستخدم في حماية الكود المصدري للبرنامج ولكني أعتقد أن هذا مستحيل

ياريت تفيدونا علي المثال المرفق (كيف تتم عملية المقارنة والتاكد من الرقم الصحيح)

وشكرا جزيلا لكم

#8

للرفع

#9

السلام عليكم

اولا ارجو ان تكون قد قرأت مشاركتي في الاعلى

ثانيا لاستخدام هذه الخوارزمية على سبيل المثال لتشفير او اخفاء كلمة مرور

ندخل كلمة المرور الى الخوارزمية

dim md5 as string

md5= CalculateMD5(text1)

حاليا MD5 تحوي على التشفير(ويمكن تخزينها في قاعدة البيانات ولا يمكن ارجاع كلمة المرور الى اصلها )

في المرة القادمة يأتي المستخدم يدخل كلمة المرور

dim md5_2 as string

md5_2= CalculateMD5(text2)

لمعرفة كلمة المرور هي صحيحة ام لا نقارن MD5 مع MD5_2

if MD5= MD5_2 then

msgbox "Good pwd"

else

msgbox "Try again"

end if

#10

الاخ الكريم TareqVB

لك جزيل الشكر وجزاك الله كل خير

قرأت ردك وسوف أطبق ما قلته ولك جزيل الشكر مرة اخري

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