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

استعمال MD5 في Python

بدأه 3ml في 2 يونيو 2010 · 3 رد · 1,447 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

تعلمت اليوم طريقة إستعمال اداة التشفير MD5 في لغة Python و هي سهلة و مفيدة

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

مثلا كلمة المرور: ArAbiC

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

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

و في المثال السابق صورة الكلمة بالدالة MD5 هي:

983b37ac1d8c0e68f904146a8ef87cdb

فمن الواضح ان من يجدها لن يعرف الكلمة الأصلية ArAbiC :)

و هذه الدالة غير عكسية ، معناه "لا نستطيع" العودة من 983b37ac1d8c0e68f904146a8ef87cdb إلى ArAbiC :excl:

و "الحيلة" انك عندما يدخل المستعمل كلمة المرور لا تجعل برنامجك يقارنها مع كلمة المرور الصحيحة لأنها ليست عندك و انت لا تعرفها اصلا ، بل قم بمقارنة صورة MD5 لكلمة المرور المدخلة مع الصورة المخزنة لكلمة المرور الصحيحة.

وبهذا تضمن بعض الأمن لمستعملي برامجك أو موقعك.

هذه الدالة تعمل أيضا على أغلب اللغات و لكن طبعا ليس بنفس الطريقة التي سأذكرها هنا لأنها ل Python فقط.

هذا مثال عملي لإستعمال الدالة مع سلسلة نصية أو سلسلة أرقام:

import md5
print md5.md5('my_text').hexdigest()

حيث تضع النص مكان my_text بالطبع :)

و للإصدارات الأحدث من Python 2.5 فما فوق استعمل هذا:

import hashlib
print hashlib.md5("my_text").hexdigest()

يجب ان تكون حصلت على هذه النتيجة بإستعمال كلمة my_text:

c3d395945ee5bfa96897a0a1942ec1d6

ملاحظة:

توجد دوال تشفير أخرى مثل SHA1, SHA224, SHA256, SHA384....

أتمنى أن يكون 'الدرس' مفيدا

:)شكرا

تم تعديل هذه المشاركة بواسطة 3ml في 2 يونيو 2010 في 01:28

بسم الله الذي لا يضر مع اسمه شيء في الأرض و لا في السماء و هو السميع العليم

117tpo4.png
#2
3ml كتب:

السلام عليكم

تعلمت اليوم طريقة إستعمال اداة التشفير MD5 في لغة Python و هي سهلة و مفيدة

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

مثلا كلمة المرور: ArAbiC

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

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

و في المثال السابق صورة الكلمة بالدالة MD5 هي:

983b37ac1d8c0e68f904146a8ef87cdb

فمن الواضح ان من يجدها لن يعرف الكلمة الأصلية ArAbiC :)

و هذه الدالة غير عكسية ، معناه "لا نستطيع" العودة من 983b37ac1d8c0e68f904146a8ef87cdb إلى ArAbiC :excl:

و "الحيلة" انك عندما يدخل المستعمل كلمة المرور لا تجعل برنامجك يقارنها مع كلمة المرور الصحيحة لأنها ليست عندك و انت لا تعرفها اصلا ، بل قم بمقارنة صورة MD5 لكلمة المرور المدخلة مع الصورة المخزنة لكلمة المرور الصحيحة.

وبهذا تضمن بعض الأمن لمستعملي برامجك أو موقعك.

هذه الدالة تعمل أيضا على أغلب اللغات و لكن طبعا ليس بنفس الطريقة التي سأذكرها هنا لأنها ل Python فقط.

هذا مثال عملي لإستعمال الدالة مع سلسلة نصية أو سلسلة أرقام:

import md5
print md5.md5('my_text').hexdigest()

حيث تضع النص مكان my_text بالطبع :)

و للإصدارات الأحدث من Python 2.5 فما فوق استعمل هذا:

import hashlib
print hashlib.md5("my_text").hexdigest()

يجب ان تكون حصلت على هذه النتيجة بإستعمال كلمة my_text:

c3d395945ee5bfa96897a0a1942ec1d6

ملاحظة:

توجد دوال تشفير أخرى مثل SHA1, SHA224, SHA256, SHA384....

أتمنى أن يكون 'الدرس' مفيدا

:)شكرا

thank you so much, more please

1
#3

شكرا أخي

أتمنى ان أقدم المزيد حول python ، أنا لم استعملها منذ مدة و اتمنى العودة لها :)

بسم الله الذي لا يضر مع اسمه شيء في الأرض و لا في السماء و هو السميع العليم

117tpo4.png
#4

معلومة جديدة بالنشبة لي ارجوا ان لا تبخل علينا بمواضيعك

1

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