القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

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

تحتوي الوحدة النمطية Base64 على زوج من الوظائف التي يمكنك استخدامها لتشفير الرسائل وفك تشفيرها ، وإضافة بعض الأمان الإضافي لعمليات نقل البيانات الخاصة بك.

وحدة Tkinter و Base64

يسمح لك Tkinter بإنشاء تطبيقات سطح المكتب. يوفر مجموعة متنوعة من الأدوات مثل الأزرار والتسميات ومربعات النص التي تسهل تطوير التطبيقات دون بذل الكثير من الجهد. يمكنك إنشاء برامج واجهة مستخدم رسومية مذهلة باستخدام Tkinter. يمكنك بناء آلة حاسبة بسيطةأو تطبيق قائمة مهام أو ملف لعبة اختبار الكتابة. لتثبيت Tkinter في نظامك ، افتح Terminal واكتب:

نقطة تثبيت tkinter

يوفر BASE64 وظائف لترميز البيانات الثنائية إلى ASCII لفك تشفيرها مرة أخرى إلى ثنائي. وهو يدعم كلاً من الترميز القياسي والآمن لعناوين URL مما يجعل نقل المعلومات أكثر أمانًا. لتحويل سلسلة إلى حرف Base64 ، احصل على قيمة ASCII لكل حرف وقم بحساب ثنائي 8 بت. قم بتحويل هذا الجزء المكون من 6 بتات عن طريق إعادة تجميع الأرقام وإعادة تحويلها إلى القيم العشرية الخاصة بها. أخيرًا ، استخدم جدول ترميز Base64 للحصول على قيم Base64 لكل رقم عشري.

instagram viewer

كيفية تشفير وفك تشفير الرسائل في بايثون

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

ابدأ باستيراد كلا الوحدتين. قم بتهيئة مثيل Tkinter وعرض نافذة الجذر. عيّن العنوان والأبعاد بالبكسل ولون الخلفية للنافذة.

من tkinter يستورد *
يستورد قاعدة 64

الجذر = Tk ()
هندسة الجذر ("750 × 400")
root.configure (الخلفية ="أكوا")
الجذر. العنوان ("تشفير الرسائل وفك تشفيرها باستخدام Python")

استخدم أدوات Label لعرض معلومات مفيدة حول التطبيق. تقبل التسمية النافذة الأصلية التي تريد وضعها فيها ، والنص الذي يجب أن يتم عرضه ، ونمط الخط ، واللون ، ولون الخلفية. يستخدم علية() لتنظيم عنصر واجهة المستخدم في قالب تخطيط قبل وضعه في عنصر واجهة المستخدم الأصلي. يجعل StringVar من السهل التحكم في قيمة عنصر واجهة مستخدم مثل Label أو Entry.

التسمية (الجذر ، النص ="برنامج تشفير وفك تشفير رسائل Python"، الخط ="اريال 25 بولد"، fg ='أبيض'، bg ="أرجواني").علية()
نص = StringVar ()
مفتاح = StringVar ()
الوضع = StringVar ()
النتيجة = StringVar ()

تحديد وظيفة ترميز () يقبل مفتاحًا للترميز وفك التشفير مع الرسالة. حدد قائمة فارغة وقم بتكرارها حتى طول الرسالة. قم بتعيين فهرس المفتاح كمعامل للعملية وتخزين قيمته في key_c المتغير. يستخدم أمر () للحصول على قيمة Unicode للحرف والاستخدام chr () للحصول على الحرف الذي يمثل القيمة المحددة.

إلحاق هذه القيمة بالقائمة. انضم إلى كل عنصر من عناصر القائمة بسلسلة فارغة واستخدم ترميز () طريقة لإرجاع نسخة مشفرة utf-8 من السلسلة. ال base64.urlsafe_b64encode () تقوم الطريقة بترميز هذا الإدخال واستبدال - بـ + و _ بـ /.

defتشفير(مفتاح الرسالة):
enc = []

ل أنا في النطاق (لين (رسالة)):
key_c = مفتاح [i٪ len (مفتاح)]
enc.append (chr ((ord (message [i]) + ord (key_c))٪ 256))

يعود base64.urlsafe_b64encode ("".join (enc) .encode ()). فك التشفير ()

تحديد وظيفة فك تشفير() يقبل مفتاحًا للترميز وفك التشفير مع الرسالة. حدد قائمة فارغة وفك تشفير الرسالة. كرر حتى طول الرسالة وقم بتعيين معامل العملية كمؤشر وقم بتخزين قيمتها في key_c. قم بإلحاق حرف فك شفرة رسالة سلسلة Unicode كما هو موضح أدناه. أعد السلسلة التي تم فك تشفيرها.

defفك تشفير(مفتاح الرسالة):
ديسمبر = []
message = base64.urlsafe_b64decode (رسالة) .decode ()

ل أنا في النطاق (لين (رسالة)):
key_c = مفتاح [i٪ len (مفتاح)]
dec.append (مركز حقوق الانسان ((256 + أمر (رسالة [i]) - أمر (مفتاح ج))٪ 256))

يعود"".join (ديسمبر)

تحديد وظيفة وضع() يحصل على الوضع الذي يدخله المستخدم في عنصر واجهة المستخدم Entry ويستدعي الوظيفة المناسبة وفقًا للتحديد. في حالة عدم قيام المستخدم بإدخال إجابة صحيحة ، اعرض رسالة خطأ.

defوضع():
لو (mode.get () == "ه"):
Result.set (تشفير (key.get () ، Text.get ()))
أليف (mode.get () == 'د'):
Result.set (فك (key.get ()، Text.get ()))
آخر:
مجموعة النتائج("وضع غير صالح")

تحديد وظيفة مخرج() لقتل المترجم الفوري وإنهاء عمله في الخلفية. حدد وظيفة Reset () لمسح محتويات حقل الإدخال.

defمخرج():
root.destroy ()

defإعادة ضبط():
مجموعة النص ("")
key.set ("")
مجموعة الوضع("")
مجموعة النتائج("")

حدد أدوات التسمية والإدخال للرسائل والمفتاح والوضع والنص. حدد النافذة الأصلية التي تريد وضعها فيها ونمط الخط والنص ولون الخلفية. قم أيضًا بتعيين الإحداثيات لتنظيمها.

التسمية (الجذر ، الخط ="اريال 17 بولد"، نص ='رسالة'، fg ='أسود'، bg ="أكوا") مكان (س =60، ص =100)
الإدخال (الجذر ، الخط ="اريال 15"، textvariable = Text ، bg ='أبيض') مكان (س =450، ص =100)

التسمية (الجذر ، الخط ="اريال 17 بولد"، نص ='مفتاح'، fg ='أسود'، bg ="أكوا") مكان (س =60، ص =130)
الإدخال (الجذر ، الخط ="اريال 15"، textvariable = key ، bg ='أبيض') مكان (س =450، ص =130)

التسمية (الجذر ، الخط ="اريال 17 بولد"، نص ="الوضع (E-Encode، D-Decode)"، fg ='أسود'، bg ="أكوا") مكان (س =60، ص =160)
الإدخال (الجذر ، الخط ="اريال 15"، textvariable = mode ، bg ='أبيض') مكان (س =450، ص =160)

التسمية (الجذر ، الخط ="اريال 17 بولد"، نص ='نص'، fg ='أسود'، bg ="أكوا") مكان (س =60، ص =190)
الإدخال (الجذر ، الخط ="اريال 15 جريئة"، textvariable = النتيجة ، bg ='أبيض') مكان (س =450، ص =190)

وبالمثل ، حدد ثلاثة أزرار لعرض النتيجة ، وإعادة تعيين الحقول ، وإيقاف البرنامج. تحتوي الأزرار على معلمة خاصة تسمى الأمر والتي تأخذ وظيفة وتنفذها عند النقر.

زر (الجذر ، الخط ="اريال 15 جريئة"، نص ='نتيجة'، بادكس =2، bg ='رمادي فاتح'، الأمر = الوضع) .place (x =100، ص =240)
زر (الجذر ، الخط ="اريال 15 جريئة"، نص ='إعادة ضبط'العرض =6، الأمر = إعادة تعيين ، bg ='أخضر'، بادكس =2) مكان (س =300، ص =240)
زر (الجذر ، الخط ="اريال 15 جريئة"، نص ='قف'العرض =6، الأمر = الخروج ، bg ='أحمر'، بادكس =2، pady =2) مكان (س =500، ص =240)

ال mainloop () تخبر الوظيفة Python بتشغيل حلقة حدث Tkinter والاستماع إلى الأحداث (مثل الضغط على الأزرار) حتى تغلق النافذة.

root.mainloop ()

أداة تشفير / وحدة فك تشفير الرسائل قيد التشغيل

عند تشغيل البرنامج ، يعرض البرنامج نافذة حيث يتعين عليك إدخال رسالة ومفتاح ووضع. عند تحديد وضع الترميز بمفتاح عام 2009 ، تظهر الرسالة الاستفادة من تحول الى f8KRwpvCnlLChcKjwp5Sf8KW.

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

الأمن السيبراني باستخدام بايثون

يمكنك استخدام Python لكتابة نصوص تقوم بأتمتة فحوصات الأمان ومراقبة الشبكات والبحث عن نقاط الضعف. يمكنك استخدامه لإنشاء تطبيقات قوية تستخدم المصادقة لتقليل فرص اختراق المهاجم لبياناتك.

غالبًا ما يستخدم خبراء الأمن السيبراني لغة Python لإنشاء جدران حماية لتطبيق الويب لمراقبة أحد التطبيقات. يمكنهم إجراء تحليل الكشف عن التهديدات باستخدام التعلم الآلي. باستخدام هذه البنية ، يكون من الأسهل بكثير إنشاء اختبارات اختراق مخصصة والتحقق من صحة بروتوكولات الأمان.