جدول المحتويات:

برنامج تشفير / فك تشفير أمان Python: 3 خطوات
برنامج تشفير / فك تشفير أمان Python: 3 خطوات

فيديو: برنامج تشفير / فك تشفير أمان Python: 3 خطوات

فيديو: برنامج تشفير / فك تشفير أمان Python: 3 خطوات
فيديو: برنامج للتشفير ببايثون - Encryption program in Python 🔒 2024, شهر نوفمبر
Anonim
برنامج تشفير / فك تشفير أمان Python
برنامج تشفير / فك تشفير أمان Python
برنامج تشفير / فك تشفير أمان Python
برنامج تشفير / فك تشفير أمان Python

في هذا Instructable ، سأوضح لك كيف باستخدام بعض لغة Python البسيطة ، يمكنك الحفاظ على أمان ملفاتك باستخدام معيار الصناعة AES.

متطلبات:

- بايثون 3.7

- مكتبة PyAesCrypt

- مكتبة الهشلب

إذا لم يكن لديك هذه المكتبات ، فيمكنك التثبيت بسهولة عن طريق كتابة:

تثبيت pip3 hashlib

pip3 قم بتثبيت PyAesCrypt

في المحطة (أو CMD)

يجب أن يكون لديك بالفعل هذه:

- مكتبة عشوائية

- مكتبة نظام التشغيل

- مكتبة النظام

أنا أستخدم OS X ، لكن لا ينبغي أن يكون الأمر مهمًا للغاية ، باستثناء اتجاه الخطوط المائلة في مسارات الملفات (OS X: / ، Windows:)

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

إذا كان لديك كل التبعيات المثبتة ، فلننتقل إلى الخطوة 1.

الخطوة 1: كتابة ملف الإعداد

كتابة ملف الإعداد
كتابة ملف الإعداد
كتابة ملف الإعداد
كتابة ملف الإعداد
كتابة ملف الإعداد
كتابة ملف الإعداد
كتابة ملف الإعداد
كتابة ملف الإعداد

أحد العوامل التي تجعل هذا آمنًا للغاية هو استخدام التجزئة للتحقق من كلمة المرور. ملف الإعداد (الذي أتصل به الخاص بي setupsafe.py) سينتقل إلى:

- إنشاء مجلد وملفات وهمية لكلمة المرور

- ضبط كلمة المرور

- ضبط رقم الملف

- تجزئة كلمة المرور

أولاً ، سنقوم باستيراد اعتماداتنا:

من استيراد النظام *

استيراد نظام التشغيل

استيراد عشوائي

استيراد hashlib

بعد ذلك ، سننشئ مجلدًا لإيواء تجزئة كلمة المرور والملفات الوهمية:

جرب: إذا لم يكن os.path.exists ("desktop / safesetup"):

os.mkdir ("desktop / safesetup /")

باستثناء خطأ OSE:

طباعة ("خطأ في إنشاء مجلد")

سيقوم هذا الرمز بإنشاء مجلد يسمى برنامج التشغيل الآمن (ما لم يكن موجودًا بالفعل).

بعد ذلك ، سنقوم بتعيين كلمة المرور ، وإنشاء رقم عشوائي بين 1 و 100 كطريقة لتصفح الملفات الوهمية:

كلمة المرور العامة = argv [1].encode ('utf-8')

n = random.randint (1 ، 101)

الآن بعد أن أصبح لدينا كلمة المرور ورقم الملف الخاص بنا ، سننشئ 99 ملفًا وهميًا داخل إعداد الأمان وملف حقيقي واحد يحتوي على تجزئة كلمة المرور الخاصة بنا:

لـ x في النطاق (101): إذا (x! = n):

f = open (("desktop / safesetup /" + str (x))، "w +")

f.close ()

آخر:

كلمة المرور = hashlib.sha256 (password).hexdigest ()

f = open (("desktop / safesetup /" + str (x))، "w +")

f.write (كلمة المرور)

f.close ()

طباعة (ن)

يسمى الملف الحقيقي مهما كان العدد الصحيح n. يحتوي هذا الملف على كلمة المرور الخاصة بنا ، بعد تجزئة باستخدام خوارزمية sha256 (تُستخدم خوارزمية التجزئة هذه على نطاق واسع في العملات المشفرة ، وعلى الأخص Bitcoin).

تذكر ما هو n (سيتم طباعته في وحدة التحكم) ، لأنه لا يقل أهمية عن كلمة المرور.

هذا كل ما نحتاجه لبرنامج الإعداد الخاص بنا ، لذلك سننتقل الآن إلى برنامج التشفير / فك التشفير.

الخطوة الثانية: ملف التشفير / فك التشفير

ملف التشفير / فك التشفير
ملف التشفير / فك التشفير
ملف التشفير / فك التشفير
ملف التشفير / فك التشفير
ملف التشفير / فك التشفير
ملف التشفير / فك التشفير

يقوم قسم الإعداد الخاص بالملف الرئيسي باستيراد العناصر التابعة ، وتجزئة كلمة المرور المُدخلة ، واسترداد تجزئة كلمة المرور الحقيقية باستخدام رقم الملف المُدخل.

أولا: التبعيات:

من استيراد نظام التشغيل * استيراد نظام التشغيل

استيراد pyAesCrypt

استيراد hashlib

بعد ذلك ، تجزئة كلمة المرور المدخلة:

كلمة المرور = argv [1].encode ('utf-8') كلمة المرور = hashlib.sha256 (كلمة المرور).hexdigest ()

أخيرًا ، استرداد كلمة المرور المجزأة:

file_key = str (argv [2]) hash = open (("desktop / safesetup /" + file_key)، ("r +")). read ()

يقارن القسم الثاني من ملف التشفير التجزئات ، ويحدد صحة المقارنة ، ويستخدم مكتبة AESCrypt python لتشفير أو فك تشفير الملف الذي تختاره. هذا جزء كبير من الكود ، لكنني سأقسمه:

إذا (كلمة المرور == التجزئة): طباعة ("كلمة المرور مقبولة")

حجم المخزن المؤقت = 64 * 1024

العملية = str (المدخلات ("هل تقوم باسترجاع أو تشفير الملفات؟ (r أو e)"))

إذا (العملية == 'r'):

file_name = str (المدخلات ("الملف المراد استرداده:"))

pyAesCrypt.decryptFile ((file_name + ".aes") ، file_name ، password ، bufferSize)

os.remove ((file_name + ".aes"))

elif (العملية == 'e'):

اسم_الملف = str (إدخال ("ملف للتشفير:"))

pyAesCrypt.encryptFile (file_name، (file_name + ".aes")، password، bufferSize)

os.remove (file_name)

آخر:

طباعة ("خطأ: إدخال غير صحيح")

آخر:

طباعة ("الدخول مرفوض")

تحدد عبارة if الأولى ما إذا كانت كلمات المرور المجزأة متطابقة أم لا. إذا فعلوا ذلك ، فسيستمر في السؤال عما إذا كنت تريد تشفير الملفات أو استرداد الملفات المشفرة. اعتمادًا على إدخالك ، سيقوم إما بتشفير الملف المقدم أو فك تشفيره. عند مطالبتك بإعطاء اسم الملف ، تأكد من تحديد المسار ما لم يكن الملف في نفس الدليل مثل برنامج python. يقوم البرنامج بحذف الملف في حالته السابقة واستبداله بملف aes المشفر أو فك تشفيره واستبداله بالملف الأصلي.

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

الخطوة 3: تشغيل الملفات

لتشغيل ملف الإعداد ، اتبع الخطوات التالية:

1. اكتب في المحطة:

دليل python3 / setupname.py password (استبدال الدليل واسم الإعداد وكلمة المرور بقيمها الخاصة)

2. ستخرج المحطة رقم الملف الخاص بك. احتفظ بهذا.

لتشغيل برنامج التشفير / فك التشفير ، اتبع الخطوات التالية:

1. اكتب في المحطة:

دليل python3 / filename.py password filenumber (استبدال الدليل واسم الملف وكلمة المرور ورقم الملف بقيمها الخاصة)

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

3. سيُطلب منك بعد ذلك تقديم اسم الملف. تذكر تقديم دليل الملف بالإضافة إلى الاسم وكذلك امتداد الملف. ومع ذلك ، إذا كنت تقوم بفك تشفير ملف ، فلا تكتب جزء.aes من الامتداد ، لأن الكود يحسب لذلك.

4. يقوم البرنامج بعد ذلك بتشفير أو فك تشفير الملف المقدم ، وحذف الملف في حالته السابقة (مع الاحتفاظ بالملف المشفر أو المفكوك).

هاهو! نشكرك على جعله هذا بعيدًا في التعليمات ، وأنا أعلم أن قراءة البرامج التعليمية للكود ليست أكثر الأشياء المسلية. يتم تضمين ملفات python في هذه الخطوة ، لأولئك منكم الذين يريدون تصوير هذه اللقطة. مرة أخرى ، شكرًا على القراءة ، وأتمنى لك حظًا سعيدًا في مساعيك المستقبلية في الترميز.

موصى به: