جدول المحتويات:
فيديو: برنامج تشفير / فك تشفير أمان Python: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
في هذا 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 في هذه الخطوة ، لأولئك منكم الذين يريدون تصوير هذه اللقطة. مرة أخرى ، شكرًا على القراءة ، وأتمنى لك حظًا سعيدًا في مساعيك المستقبلية في الترميز.
موصى به:
برنامج Python - الفائدة المركبة مع المساهمات / الإيداع الشهري: 5 خطوات
برنامج Python - الفائدة المركبة مع المساهمات / الودائع الشهرية: برنامج لحساب الفائدة المركبة بمساهمة شهرية في نهاية الشهر الصيغة مأخوذة من TheCalculatorSite.com: الفائدة المركبة للمبلغ الأساسي: P (1 + r / n) ^ (nt) القيمة المستقبلية للسلسلة: PMT × (((1 + r / n) ^ nt - 1) / (r / n))
برنامج Arduino Hang Guardian - برنامج Arduino Watchdog Timer التعليمي: 6 خطوات
برنامج Arduino Hang Guardian - برنامج Arduino Watchdog Timer التعليمي: مرحبًا بالجميع ، هذا يحدث لنا جميعًا. تقوم ببناء مشروع ، وتوصيل جميع المستشعرات بحماس ، وفجأة ، يتوقف Arduino ولا تتم معالجة أي مدخلات. "ما الذي يحدث؟" ، ستسأل وتبدأ في البحث في الكود الخاص بك ، فقط لإعادة
برنامج تشفير البرنامج النصي المطاطي USB (VBScript): 5 خطوات
USB Rubber Ducky Script Encoder (VBScript): إذا كان لديك USB Rubber Ducky ، فستعرف أن مهمة مزعجة للغاية تتمثل في تجميع البرنامج النصي الخاص بك إلى ملف a.bin. إذا كان عليك القيام بأي نوع من تصحيح الأخطاء ، فستعرف أن التنزيل المستمر للنص البرمجي المترجم يمكن أن يكون بمثابة ألم. إذن لإصلاح هذا
حفظ لقطات الشاشة تلقائيًا في Windows باستخدام برنامج Python النصي: 4 خطوات
حفظ لقطات الشاشة تلقائيًا في Windows باستخدام برنامج Python Script: عادةً في Windows ، لحفظ لقطة شاشة (طباعة شاشة) نحتاج أولاً إلى التقاط لقطة شاشة ثم فتح الطلاء ، ثم لصقها ثم حفظها أخيرًا. الآن ، سوف أعلمك كيفية إنشاء برنامج بيثون لأتمتة هذا البرنامج ، سيقوم هذا البرنامج بإنشاء ملف مطوي
كيفية تحويل الحيوانات باستخدام برنامج جيمب (برنامج مجاني): 5 خطوات
كيفية تحويل الحيوانات باستخدام برنامج GIMP (برنامج مجاني): سوف أعلمك كيفية تحويل حيوانين خلال هذا التدريب. يمكنك استخدام طريقة التحويل هذه لأي حيوانات ، أو أي إبداع يمكنك التوصل إليه. أرني إبداعاتك ، باستخدام هذا الدليل السهل المتابعة! الأشياء المطلوبة: الكمبيوتر ، الإبداع