هذه المقال وغيرها تحت وسم "افضل مقال تقني" تعبر عن اراء أصحابها
اليوم سوف نتحدث عن عالم التشفير كما سنقوم ايضاً ببناء سكربت تشفير يضم تسع أنواع تشفير, لكن قبل البدء دعونا نتحدث على انواع التشفير الثلاثة وهي :
- Symmetric Key Encryption
مثل( AES - DES - 3DES ) وهو جيد في تشفير بيانات كبيرة.
- Asymmetric Key Encryption
- Hash
دعونا لانتحدث كثيراً, هي بنا لنبدأ اليوم ببناء هذا السكربت, لكن قبل البدء يجب عليك معرفة ما هي اللغة المستعملة في بناء ذلك السكربت.
بايثون Python : هي من اقوى اللغات في هذا المجال وكما هي اللغة الذي سيتم استعاملها اليوم في البناء إذا كنت تجيد بايثون. لكن قبل البدء يجب أن اقول لك أن المكتبات المستعملة في البناء هي ( hashlib - base64 ) ويجب عليك معرفة دوال تلك المكاتب في البداية.
base64
تتمكن هذه المكتبة بإطلاق دوال لعملية التشفير و ايضاً فك ذلك التشفير, سنقوم الآن ببناء سكربت يقوم بتشفير من هذا النوع وسيكون المثال هكذا
وسيكون ناتج العملية
سوف نشرح الكود السابق الذي في المثال, قمنا بإستحضار مكتبة base64 لأستخدام بعض الدوال الخاصة بها, و كما قمنا ايضاً بإنشاء متغير باسم name لحفظ البيانات وقمنا ايضاً بإستخدام الدالة الاولى وهي b64encode وهذه الدالة هي المسؤولة عن تشفير نوع 64. لكن ماذا إذا كنت اريد فك ذلك التشفير, لاحظ معي المثال
في ذلك المثال قمنا بإستخدام دالة b64decode لفك التشفير من نوع 64. وكما يمكن استخدام أنوع تشفير base32 أو base16 بذلك الشكل وستكون الصورة العامة لهم بالنسبة لـ base32
- للتشفير
base64.b32encode
- لفك التشفير
base64.b32decode
بالنسبة لـ base16
- للتشفير
base64.b16encode
- لفك التشفير
base64.b16decode
سنقوم الآن ببناء سكربت يقوم بتشفير الثلاث أنواع و ايضاً فك تشفيرهم
وسيكون الناتج بذالك الشكل
hashlib تلك المكتبة تضم بعض الدوال لأستخدام التشفير, انواع التشفير داخل هذا المكتبة هي :
( sha1,sha224,sha384,sha512,sha256,md5 )
كل هذا موجود وسنتعلم كيفية استخدام دوال هذه المكتبة للتشفير من تلك الانواع المذكورة قبل قليل, وهذه الأنواع من التشفير تسمى hash ليس له مفاتيح فك تشفير ويجب استخدام الهجوم الغاشم أو التخمين لفك هذه الأنواع, و الصور العامة لأستخدام دوال المكتبة سيكون هكذا
()hexdigest.('الذي تريد ان يشفر ')نوع التشفير .hashlib
سنقوم الآن بإنشاء مثال يضم كل انواع التشفير السابقة وسيكون بهذا الشكل
وسيكون الناتج بكل انواع التشفير
بعد أن تعرفنا على المكتبات الذي سيتم استخدامها سوف نقوم الآن بإنشاء سكربت لتلك التشفيرات الذي تم شرحها.
العملية الاولى هي استحضار المكتبات في ملف باسم hash.py ثم اعطاء نبذه عن صاحب السكربت و الألوان وسيكون السكربت بذلك الشكل
وسيكون الناتج بعد تشغيل السكربت بذلك الشكل
لكن هنا يوجد شئ مفقود وهي اللوغو بإسم Ahmed kaissar إذا كنت تستخدم الكالي سيظهر اللوغو.
العملية الثانية هي عملية إنشاء مداخل الى أنواع السكربت وسيكون بذلك الشكل
وعند التشغيل سيكون الناتج هكذا
بعد عملية تنسيق السكربت حان الآن وقت إنشاء السكربت ليكون جاهز للتشغيل. العملية الثالثة خطوط الإنشاء وسيكون الكود هكذا
سوف نشرح الكود السابق, نقول هنا للمستخدم إذا كنت تريد تشفير من نوع base64 اختار الرقم واحد ثم يظهر اثنان من الخيارات الأول هو اذا كان المستخدم يريد التشفير و الثاني اذا كان المستخدم يريد فك التشفير وسنقوم الآن بتشغيل الكود ونقوم بتشفير وفك التشفير
عملية التشفير
عملية فك التشفير
الآن ذلك السكربت يعمل بتشفير وفك تشفير من نوع base64 لكن هذا لا يكفي نحن قمنا بشرح مكتبة تقوم بعملية تشفير اكثر, لذلك دعونا نكمل ما بدأناه وسيكون شكل الكود
سوف نشرح الكود السابق كما نعرف ان الرقم 2 في الاختيارات هو md5 وهنا نقوم بإضافة md5 الى السكربت وذلك يكون بإستعمال الدالة md5 من مكتبة hashlib وسيكون ناتج التشفير بذلك الشكل عند التشغيل
العملية الرابعة اضافة تشفير sha1 الى السكربت وسيكون الشكل العام للكود
الكود السابق مثل اكواد md5 فقط التغيير هنا هو المتغير و ايضاً الدالة وهي sha1 وسيكون الناتج عند التشغيل وعند إضافة كلمة programmer-tech للتشفير سيكون ناتج التشفير
الآن وقت إضافة تشفير sha224 الى السكربت وهو الخيار الرابع وسيكون شكل الكود بهذا الشكل
شرح الكود هو بمثل الاكواد السابقة فقط كل ما تغير هو التغيرات و الدالة, و الدالة المستخدمة هنا sha224 وسيكون الناتج عند التشفير بالشكل
ناتي الآن لإضافة الرقم 5 في الخيارات وهو من نوع sha256 وسيكون شكل الكود
شرح الكود السابق لا يختلف عن سابقاته, لكن ما تغير فقط المتغيرات و الدالة, و الدالة المستعملة هنا هي sha256 وسيكون شكل الكود بالشكل
و الآن نضيف الرقم 6 الى الخيارات وهو من نوع sha384 وسيكون شكل الكود لا يختلف عن السابقات
هذا الكود لا يختلف عن السابقات فقط الإختلاف هنا هو المتغيرات و الدالة, و الدالة المستخدمة هنا هي sha384 في مكتبة hashlib وسيكون الناتج
نضيف الرقم 7 إلى السكربت وهو من نوع sha512 في الأختيارات وسيكون الكود
لا داعي لشرح ذلك الكود مثل الاكواد السابقة وسيكون شكل التشفير
شرحنا في تعريف المكتبات أن هناك تشفير base32 و base16 داخل مكتبة base64 لكن لم نضيف اي من تلك التشفيرات, لنقوم بإضافة ذلك وسيكون الكود بالشكل
نشرح الكود, في الحقيقة هذا الكود مثل أول كود في الاعلى وهو عن تشفير base64 وكل ما تغير في ذلك الكود هو المتغيرات و الدالة المستخدمة. بإختصار نقول للبرنامج إذا كان المستخدم اختار الرقم 8 اطبع له اثنين من الخيارات, الخيار الأول هو اذا كان يريد التشفير و الخيار الثاني إذا كان يريد فك التشفير من نوع base16, الدالة المستخدمة للتشفير b16encode ولفك التشفير b16decode
- عملية التشفير
- عملية فك التشفير
نأتي الآن لإضافة الرقم 9 الى الخيارات لتشفير base32 وفك التشفير وسيكون الكود
ذلك الكود لا يختلف عن الكود السابق فقط في المتغيرات و الدالة, و الدالة المستخدمة هنا هي b32encod للتشفير ولفك التشفير دالة b32decode
عملية التشفير
عملية فك التشفير
نأتي الآن لإضافة الرقم 99 إذا كان المستخدم يريد الخروج من البرنامج وسيكون الكود بالشكل
عندما يختار المستخدم الرقم 99 فهو يريد الخروج وعند الخروج البرنامج يطبع
kaissar close Encrypt وسيكون الناتج عند الخروج
وفي حالة حدوث أي اخطاء على سبيل المثال المستخدم أختار رقم غير موجود في الخيارات سيقوم البرنامج بطبع ذلك
الكاتب: أحمد قيصر
اخي جعفر انت قولت انك ستطع رابط الموقع الخاص بكاتب ذالك المقالة
ردحذفاتمنا ان تضيف رابط الموقع الخاص بي """" https://www.programmer-tech.ml/