PyCrypto AES-256 के साथ सुरक्षित एन्क्रिप्शन और डिक्रिप्शन
PyCrypto Python में क्रिप्टोग्राफ़िक संचालन के लिए एक मजबूत लाइब्रेरी है। एक सामान्य कार्य AES-256 का उपयोग करके डेटा को एन्क्रिप्ट और डिक्रिप्ट करना है, जो संवेदनशील डेटा सुरक्षा के लिए उपयोग किया जाने वाला एक उद्योग-मानक एन्क्रिप्शन एल्गोरिदम है।
समस्या परिभाषा:
विश्वसनीय एन्क्रिप्शन का निर्माण और PyCrypto का उपयोग करके डिक्रिप्शन कार्यों के लिए कई संभावित मुद्दों को संबोधित करने की आवश्यकता होती है:
सुरक्षा और कार्यक्षमता को बढ़ाना:
इन चिंताओं को दूर करने के लिए, PyCrypto का उपयोग करके एक कार्यान्वयन विकसित किया गया है:
import base64 import hashlib from Crypto import Random from Crypto.Cipher import AES class AESCipher(object): def __init__(self, key): self.bs = AES.block_size self.key = hashlib.sha256(key.encode()).digest() def encrypt(self, raw): raw = self._pad(raw) iv = Random.new().read(AES.block_size) cipher = AES.new(self.key, AES.MODE_CBC, iv) return base64.b64encode(iv cipher.encrypt(raw.encode())) def decrypt(self, enc): enc = base64.b64decode(enc) iv = enc[:AES.block_size] cipher = AES.new(self.key, AES.MODE_CBC, iv) return AESCipher._unpad(cipher.decrypt(enc[AES.block_size:])).decode('utf-8') def _pad(self, s): return s (self.bs - len(s) % self.bs) * chr(self.bs - len(s) % self.bs) @staticmethod def _unpad(s): return s[:-ord(s[len(s)-1:])]
कुंजी और IV संवर्द्धन:
एन्क्रिप्शन मोड :
यह कार्यान्वयन सीबीसी (सिफर ब्लॉक चेनिंग) मोड में एईएस-256 का उपयोग करता है। ब्लॉक में डेटा को एन्क्रिप्ट करने के लिए सीबीसी मोड की सिफारिश की जाती है, और IV का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि प्रत्येक ब्लॉक विशिष्ट रूप से एन्क्रिप्ट किया गया है।
IV विचार:
IV एक महत्वपूर्ण मान है इसे सुरक्षित रूप से उत्पन्न किया जाना चाहिए। एन्क्रिप्शन और डिक्रिप्शन के लिए अलग-अलग IV का उपयोग करने से परिणाम प्रभावित नहीं होता है, लेकिन डिक्रिप्शन के सफल होने के लिए IV को एन्क्रिप्शन के दौरान उपयोग किए गए IV से मेल खाना चाहिए।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3