ที่เก็บนี้แสดงวิธีการรวมการเข้ารหัสไฟล์และการถอดรหัสโดยใช้มาตรฐาน OpenPGP ใน Python ที่นี่ใช้การเข้ารหัสแบบสมมาตร
OpenPGP (ความเป็นส่วนตัวที่ดีงาม) เป็นมาตรฐานการเข้ารหัสฟรีและโอเพ่นซอร์สที่ใช้เพื่อรักษาความปลอดภัยการสื่อสารอีเมลไฟล์และข้อมูลอื่น ๆ มันมีการเข้ารหัสแบบ end-to-end ซึ่งหมายความว่าข้อมูลจะถูกเข้ารหัสบนอุปกรณ์ของผู้ส่งและสามารถถอดรหัสได้โดยผู้รับที่ต้องการด้วยคีย์ส่วนตัวของพวกเขา OpenPGP ใช้การเข้ารหัสคีย์สาธารณะเพื่อเข้ารหัสและถอดรหัสข้อมูลและลายเซ็นดิจิตอลเพื่อตรวจสอบความถูกต้องและความสมบูรณ์ของข้อมูล มีการใช้กันอย่างแพร่หลายโดยบุคคลธุรกิจและองค์กรเพื่อปกป้องข้อมูลที่ละเอียดอ่อนและรับรองการสื่อสารที่ปลอดภัย
ลิงค์: https://www.openpgp.org
GNUPG (GNU Privacy Guard) เป็นแอปพลิเคชันซอฟต์แวร์ฟรีและโอเพ่นซอร์สที่ใช้สำหรับการเข้ารหัสการถอดรหัสและการลงนามข้อมูลรวมถึงไฟล์ข้อความอีเมลและการสื่อสารดิจิตอลประเภทอื่น ๆ มันมีวิธีที่ปลอดภัยและเป็นส่วนตัวในการปกป้องข้อมูลที่ละเอียดอ่อนและตรวจสอบความถูกต้องและความสมบูรณ์ของข้อมูลดิจิตอล GNUPG ขึ้นอยู่กับมาตรฐาน OpenPGP และรองรับอัลกอริทึมการเข้ารหัสต่างๆเช่น AES, RSA และ DSA มีให้บริการสำหรับระบบปฏิบัติการที่หลากหลายรวมถึง Linux, MacOS และ Windows และสามารถรวมเข้ากับไคลเอนต์อีเมลต่างๆและแอพพลิเคชั่นซอฟต์แวร์อื่น ๆ GNUPG ใช้กันอย่างแพร่หลายโดยบุคคลธุรกิจและองค์กรต่างๆเพื่อปกป้องข้อมูลที่ละเอียดอ่อนและมั่นใจในการสื่อสารที่ปลอดภัย
ลิงค์: https://gnupg.org
Python-GNUPG เป็นโมดูล Python ที่ให้อินเทอร์เฟซระดับสูงสำหรับการทำงานกับ GNUPG (GNU Privacy Guard) ใน Python ช่วยให้นักพัฒนาสามารถดำเนินการ GNUPG ต่างๆเช่นการเข้ารหัสการถอดรหัสการลงนามและการตรวจสอบลายเซ็นดิจิตอลโดยตรงจากสคริปต์ Python Python-GNUPG สร้างขึ้นบนซอฟต์แวร์ GNUPG และให้วิธีการใช้งานง่ายและ Pythonic มากขึ้นในการโต้ตอบกับ 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")
ใบอนุญาต MIT
ลิขสิทธิ์ (c) 2023 Sumit Sahoo
ได้รับอนุญาตโดยไม่เสียค่าใช้จ่ายสำหรับบุคคลใด ๆ ที่ได้รับสำเนาซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้อง ("ซอฟต์แวร์") เพื่อจัดการในซอฟต์แวร์โดยไม่มีการ จำกัด รวมถึง แต่ไม่ จำกัด เฉพาะสิทธิ์ในการใช้คัดลอกแก้ไขผสาน เผยแพร่แจกจ่าย sublicense และ/หรือขายสำเนาของซอฟต์แวร์และอนุญาตให้บุคคลที่ซอฟต์แวร์ได้รับการตกแต่งให้ทำเช่นนั้นภายใต้เงื่อนไขดังต่อไปนี้:
ประกาศลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมดหรือส่วนสำคัญของซอฟต์แวร์
ซอฟต์แวร์มีให้ "ตามสภาพ" โดยไม่มีการรับประกันใด ๆ ไม่ว่าโดยชัดแจ้งหรือโดยนัยรวมถึง แต่ไม่ จำกัด เฉพาะการรับประกันความสามารถในการค้าการออกกำลังกายสำหรับวัตถุประสงค์เฉพาะและการไม่เข้าร่วม ไม่ว่าในกรณีใดผู้เขียนหรือผู้ถือลิขสิทธิ์จะต้องรับผิดชอบต่อการเรียกร้องความเสียหายหรือความรับผิดอื่น ๆ ไม่ว่าจะเป็นการกระทำของสัญญาการละเมิดหรืออื่น ๆ ซอฟต์แวร์.