Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में डेटा को एन्क्रिप्ट और डिक्रिप्ट कैसे करें

परिचय

क्रिप्टोग्राफी क्या है? क्रिप्टोग्राफी प्लेन टेक्स्ट को सिफर टेक्स्ट में बदलने से संबंधित है जिसे डेटा का एन्क्रिप्शन कहा जाता है और सिफर टेक्स्ट को वापस प्लेन टेक्स्ट में बदल दिया जाता है जिसे डेटा का डिक्रिप्शन कहा जाता है।

हम फेरनेट मॉड्यूल का उपयोग करेंगे क्रिप्टोग्राफी पैकेज में पायथन का उपयोग करके डेटा को एन्क्रिप्ट और डिक्रिप्ट करने के लिए। फ़र्नेट मॉड्यूल का उपयोग करते समय, एक अद्वितीय कुंजी उत्पन्न होती है जिसके बिना आप एन्क्रिप्टेड डेटा को पढ़ या हेरफेर नहीं कर सकते।

अब जब आप जानते हैं कि हम किससे निपटेंगे, तो चलिए शुरू करते हैं।

आरंभ करना

क्रिप्टोग्राफी मॉड्यूल पायथन के साथ पैक नहीं आता है, जिसका अर्थ है कि आपको इसे पाइप पैकेज मैनेजर का उपयोग करके इंस्टॉल करना होगा। ऐसा करने के लिए, अपना टर्मिनल लॉन्च करें और नीचे दिए गए कोड में टाइप करें।

पाइप इंस्टाल क्रिप्टोग्राफी

एक बार आपके पास पैकेज डाउनलोड और इंस्टॉल हो जाने के बाद, आप इसके मॉड्यूल आयात कर सकते हैं।

हम डेटा को एन्क्रिप्ट और डिक्रिप्ट करने के लिए फ़र्नेट मॉड्यूल का उपयोग करेंगे। तो, चलिए इसे पायथन लिपि में आयात करते हैं।

cryptography.fernet से Fernet आयात करें

नोट -सुनिश्चित करें कि आपको कैपिटलाइज़ेशन सही है।

आप अपनी स्क्रिप्ट लिखना शुरू करने के लिए पूरी तरह तैयार हैं।

कुंजी बनाना

डेटा एन्क्रिप्ट करना प्रारंभ करने के लिए, आपको पहले एक फ़र्नेट कुंजी . बनाना होगा ।

कुंजी =Fernet.generate_key()f =Fernet(कुंजी)

उपरोक्त पंक्तियों में, हमने Generate_key () विधि का उपयोग करके एक कुंजी उत्पन्न की और फिर उस कुंजी को अगली पंक्ति में एक चर "f" को सौंपा।

और बस, अब आपके पास उपयोग के लिए तैयार एक चर में संग्रहीत एक कुंजी है।

हम कुंजी को प्रिंट कर सकते हैं और जरूरत पड़ने पर इसे स्टोर कर सकते हैं। प्रिंट करते समय डिकोड फ़ंक्शन का उपयोग करना सुनिश्चित करें।

प्रिंट(key.decode())

आउटपुट

Bq64GE−−93K1RVro4go1frN−8twBSvXdbCPSPLIKz9U=

डेटा एन्क्रिप्ट करना

उपरोक्त कुंजी से डेटा एन्क्रिप्ट करने के लिए, आपको एन्क्रिप्ट विधि का उपयोग करना होगा।

encrypted_data =f.encrypt(b"यह संदेश एन्क्रिप्ट किया जा रहा है और देखा नहीं जा सकता!")

और बस, उपरोक्त वाक्य को एन्क्रिप्ट कर दिया गया है।

अपना एन्क्रिप्टेड संदेश देखने के लिए, आपको इसे प्रिंट करना होगा।

प्रिंट(एन्क्रिप्टेड_डेटा)

आउटपुट

b'gAAAAABgILy91p_wqMntdT3mDkh0IBXSLjuBMQAfnGZAFkZCX1U6Q7TU2PthgFBwVz0QbKXpuNTHRzAgbdDV4zfuuzkGCXqVD--xJdkTycKH2iurTJPLXX 

नोट - हमारे पास वाक्य से पहले बी था ताकि इसे बाइट प्रारूप में परिवर्तित किया जा सके। आप इसके बजाय एनकोड () विधि का उपयोग करना भी चुन सकते हैं।

डेटा डिक्रिप्ट करना

अब जब आपके पास सिफर टेक्स्ट है, तो आइए देखें कि हम इसे कैसे वापस सादे पठनीय टेक्स्ट में बदल सकते हैं।

हम फेरनेट मॉड्यूल में डिक्रिप्ट विधि का उपयोग करके डिक्रिप्शन प्राप्त कर सकते हैं।

decrypted_data =f.decrypt(encrypted_data) # f वह वेरिएबल है जिसमें key.print(decrypted_data) का मान होता है

आउटपुट

b'यह संदेश एन्क्रिप्ट किया जा रहा है और देखा नहीं जा सकता!'

नोट - यदि आप उपरोक्त आउटपुट को देखते हैं, तो आप देख सकते हैं कि प्रिंटेड प्लेन टेक्स्ट से पहले b' है, ऐसा इसलिए है क्योंकि एन्क्रिप्टेड डेटा को वापस बाइट फॉर्मेट में बदला जा रहा है। केवल सादा पाठ प्राप्त करने के लिए, हमें डिकोड फ़ंक्शन का उपयोग करने की आवश्यकता है।

प्रिंट(decrypted_data.decode())

आउटपुट

यह संदेश एन्क्रिप्ट किया जा रहा है और देखा नहीं जा सकता!

नोट - आप एक ही कुंजी का उपयोग करके डेटा को एन्क्रिप्ट और डिक्रिप्ट कर सकते हैं। यानी अगर आप key की value को Print करके save कर लेते हैं. आप एक ही कुंजी को एक चर के लिए निर्दिष्ट करके उपयोग कर सकते हैं। उदाहरण −>

f =Fernet(Bq64GE--93K1RVro4go1frN-8twBSvXdbCPSPLIKz9U=) # वास्तविक कुंजी का मान दिया गया है।

उदाहरण

cryptography.fernet से आयात Fernetkey =Fernet.generate_key()print("Key:", key.decode())f =Fernet(key)encrypted_data =f.encrypt(b"यह संदेश एन्क्रिप्ट किया जा रहा है और नहीं किया जा सकता देखा!")प्रिंट ("एन्क्रिप्शन के बाद:", एन्क्रिप्टेड_डेटा) डिक्रिप्टेड_डेटा =f.decrypt (एन्क्रिप्टेड_डेटा) प्रिंट (डिक्रिप्टेड_डेटा) प्रिंट ("डिक्रिप्शन के बाद:", decrypted_data.decode ())

आउटपुट

 कुंजी:u4dM7xw8sNNU3Rm_lwDbixudWSeaM0Z4TTDdQNKsouI =एन्क्रिप्शन के बाद:b'gAAAAABgIL3_qbfM_oMgQn653gpk6a7hqxXiR0dl0vrmOmqnr5b6MqrsjGkK1IknxMLLtOCq6_YlX4x3nBedbZqtCqy4os55pttrl-pBO6-dJf6kVP50IpIaKSXbpAsuWl4h_2o_E-4YEqZ5kkgxWrwnqojmkMyuSQ =='b'This संदेश एन्क्रिप्टेड किया जा रहा है और नहीं देखा जा सकता!' डिक्रिप्शन के बाद:यह संदेश एन्क्रिप्ट होने तक और नहीं देखा जा सकता 

निष्कर्ष

अब आपने पायथन में क्रिप्टोग्राफी पैकेज का उपयोग करके डेटा को एन्क्रिप्ट और डिक्रिप्ट करना सीख लिया है।

आप कुंजी को .txt फ़ाइल के रूप में भी सहेज सकते हैं और फिर इसे एन्क्रिप्ट और स्टोर करने के लिए पुनर्प्राप्त कर सकते हैं या डेटाबेस से पासवर्ड को डिक्रिप्ट कर सकते हैं ताकि यह सत्यापित हो सके कि यह मेल खाता है या नहीं। ऐसे कई अन्य मामले हैं जहां आप इसका उपयोग कर सकते हैं, चाहे वह मिनी-प्रोजेक्ट हो या बड़े पैमाने पर प्रोजेक्ट।

क्रिप्टोग्राफी मॉड्यूल के बारे में अधिक जानकारी के लिए, आप उनके आधिकारिक दस्तावेज़ों के माध्यम से पढ़ सकते हैं - https://pypi.org/project/cryptography/


  1. पायथन डेटा विश्लेषण और विज़ुअलाइज़ेशन

    पांडा डेटा साइंस और एनालिटिक्स के लिए सबसे लोकप्रिय पायथन लाइब्रेरी में से एक है। पांडा पुस्तकालय का उपयोग डेटा हेरफेर, विश्लेषण और सफाई के लिए किया जाता है। यह निम्न-स्तरीय NumPy पर एक उच्च-स्तरीय अमूर्त है जो विशुद्ध रूप से C में लिखा गया है। इस खंड में, हम कुछ सबसे महत्वपूर्ण (अक्सर उपयोग की जाने

  1. पायथन में डेटा विश्लेषण और विज़ुअलाइज़ेशन?

    पायथन डेटा विश्लेषण और विज़ुअलाइज़ेशन के लिए मुख्य रूप से सुन्न, पांडा, मैटप्लोटलिब, सीबॉर्न आदि के लिए कई पुस्तकालय प्रदान करता है। इस खंड में, हम डेटा विश्लेषण और विज़ुअलाइज़ेशन के लिए पांडा पुस्तकालय पर चर्चा करने जा रहे हैं, जो एक खुला स्रोत पुस्तकालय है जो सुन्न के ऊपर बनाया गया है। यह हमें ते

  1. Android डिवाइस पर फ़ाइलों को एन्क्रिप्ट और डिक्रिप्ट कैसे करें

    अपने एंड्रॉइड डिवाइस पर फाइलों को एन्क्रिप्ट करने से आप उन फाइलों को चोरी होने से बचा सकते हैं, और भले ही वे चोरी हो जाएं, वे तब तक अपठनीय रहेंगे जब तक कि उन्हें उचित कुंजी का उपयोग करके डिक्रिप्ट नहीं किया जाता है। यह जो करता है वह फ़ाइल को विकृत जानकारी के रूप में प्रस्तुत करता है, आमतौर पर एईएस 1