السلام عليكم
تعلمت اليوم طريقة إستعمال اداة التشفير 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....
أتمنى أن يكون 'الدرس' مفيدا
:)شكرا
