يوضح هذا المستودع كيفية دمج تشفير الملفات وفك التشفير باستخدام معيار OpenPGP في Python. هنا يتم استخدام التشفير المتماثل.
OpenPGP (خصوصية جيدة جدًا) هو معيار تشفير مجاني ومفتوح المصدر يستخدم لتأمين اتصال البريد الإلكتروني والملفات والبيانات الأخرى. إنه يوفر تشفيرًا من طرف إلى طرف ، مما يعني أن البيانات مشفرة على جهاز المرسل ولا يمكن فك تشفيرها إلا من قبل المستلم المقصود بمفتاحها الخاص. يستخدم OpenPGP تشفير المفاتيح العامة لتشفير البيانات وفك تشفيرها ، والتوقيعات الرقمية للتحقق من صحة البيانات وسلامتها. يستخدم على نطاق واسع من قبل الأفراد والشركات والمؤسسات لحماية المعلومات الحساسة وضمان التواصل الآمن.
الرابط: https://www.openpgp.org
GNUPG (GNU Privacy Guard) هو تطبيق برنامج مجاني ومفتوح المصدر يستخدم لتشفير البيانات وفك تشفيرها وتوقيعها ، بما في ذلك الملفات ورسائل البريد الإلكتروني وأنواع أخرى من الاتصالات الرقمية. يوفر طريقة آمنة وخاصة لحماية المعلومات الحساسة وضمان صحة وتكامل البيانات الرقمية. يعتمد GNUPG على معيار OpenPGP ويدعم خوارزميات التشفير المختلفة ، مثل AES و RSA و DSA. وهو متاح لمجموعة واسعة من أنظمة التشغيل ، بما في ذلك Linux و MacOs و Windows ، ويمكن دمجها مع مختلف عملاء البريد الإلكتروني وتطبيقات البرامج الأخرى. يستخدم GNUPG على نطاق واسع من قبل الأفراد والشركات والمنظمات لحماية معلوماتهم الحساسة وضمان التواصل الآمن.
الرابط: https://gnupg.org
Python-Gnupg هي وحدة بيثون توفر واجهة عالية المستوى للعمل مع GNUPG (GNU Privacy Guard) في Python. يسمح للمطورين بإجراء عمليات GNUPG المختلفة ، مثل التشفير ، فك التشفير ، التوقيع ، والتحقق من التوقيعات الرقمية ، مباشرة من البرامج النصية Python. تم تصميم Python-GNUPG على أعلى برنامج GNUPG ويوفر طريقة أكثر سهولة في الاستخدام وبيثوني للتفاعل مع GNUPG. وهو يدعم العمليات المتزامنة وغير المتزامنة ، ويمكن استخدامه مع Python 2 و 3. يستخدم Python-Gnupg على نطاق واسع من قبل المطورين الذين يحتاجون إلى دمج وظائف GNUPG في تطبيقاتهم Python ، مثل عملاء البريد الإلكتروني ، وبرامج النسخ الاحتياطي ، وغيرها التطبيقات.
وثائق المكتبة: https://gnupg.readthedocs.io/en/latest
with open(path, 'rb') as file:
encryptionStatus = gpg.encrypt_file(file, recipients=Any, symmetric=True, passphrase=symmetricKey, output=path + ".encrypted", armor=False, extra_args=extra_args_encryption)
with open(encryptedFilePath, 'rb') as file:
decryptionStatus = gpg.decrypt_file(file, passphrase=symmetricKey, output=path + ".decrypted")
رخصة معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (ج) 2023 سوميت ساهو
يتم منح الإذن بموجب هذا ، مجانًا ، لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة ("البرنامج") ، للتعامل في البرنامج دون تقييد ، بما في ذلك على سبيل المثال لا الحصر حقوق استخدام ، نسخ ، تعديل ، دمج أو نشر نسخ وتوزيعها و/أو بيعها و/أو بيع نسخ من البرامج ، والسماح للأشخاص الذين يتم تقديم البرنامج لهم للقيام بذلك ، مع مراعاة الشروط التالية:
يجب إدراج إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو" ، دون أي ضمان من أي نوع ، صريح أو ضمني ، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق واللياقة لغرض معين وعدم الانفجار. لا يجوز بأي حال من الأحوال أن يتحمل المؤلفون أو حاملي حقوق الطبع والنشر مسؤولية أي مطالبة أو أضرار أو مسؤولية أخرى ، سواء في إجراء عقد أو أضرار أو غير ذلك ، ناشئة عن البرامج أو خارجها أو الاستخدام أو غيرها برمجة.