विषयसूची:

पायथन सुरक्षा एन्क्रिप्शन / डिक्रिप्शन सॉफ्टवेयर: 3 चरण
पायथन सुरक्षा एन्क्रिप्शन / डिक्रिप्शन सॉफ्टवेयर: 3 चरण

वीडियो: पायथन सुरक्षा एन्क्रिप्शन / डिक्रिप्शन सॉफ्टवेयर: 3 चरण

वीडियो: पायथन सुरक्षा एन्क्रिप्शन / डिक्रिप्शन सॉफ्टवेयर: 3 चरण
वीडियो: Encryption program in Python 🔒 2024, नवंबर
Anonim
पायथन सुरक्षा एन्क्रिप्शन / डिक्रिप्शन सॉफ्टवेयर
पायथन सुरक्षा एन्क्रिप्शन / डिक्रिप्शन सॉफ्टवेयर
पायथन सुरक्षा एन्क्रिप्शन / डिक्रिप्शन सॉफ्टवेयर
पायथन सुरक्षा एन्क्रिप्शन / डिक्रिप्शन सॉफ्टवेयर

इस निर्देश में मैं आपको दिखाऊंगा कि कैसे कुछ सरल पायथन के साथ, आप उद्योग मानक एईएस का उपयोग करके अपनी फाइलों को सुरक्षित रख सकते हैं।

आवश्यकताएं:

- पायथन 3.7

- PyAesCrypt पुस्तकालय

- हैशलिब लाइब्रेरी

यदि आपके पास ये पुस्तकालय नहीं हैं, तो आप टाइप करके आसानी से स्थापित कर सकते हैं:

pip3 हैशलिब स्थापित करें

pip3 PyAesCrypt स्थापित करें

टर्मिनल में (या सीएमडी)

आपके पास ये पहले से ही होने चाहिए:

- यादृच्छिक पुस्तकालय

- ओएस पुस्तकालय

- सिस्टम लाइब्रेरी

मैं ओएस एक्स का उपयोग कर रहा हूं, लेकिन फ़ाइल पथ में स्लैश की दिशा को छोड़कर, यह बहुत अधिक मायने नहीं रखता है (ओएस एक्स: /, विंडोज:)

कृपया ध्यान दें: कुछ गड़बड़ के कारण, कोड में इंडेंटेशन किसी कारण से नहीं दिखते हैं। परिणामस्वरूप प्रदर्शित कोड में कोई इंडेंटेशन नहीं होगा, हालांकि वे पायथन फाइलों में मौजूद हैं जिन्हें मैंने अंत में संलग्न किया है, और संलग्न चित्रों में। कोड को सीधे प्रदर्शित टेक्स्ट से न लें, क्योंकि यह इंडेंटेशन की कमी के कारण काम नहीं करेगा।

यदि आपके पास सभी निर्भरताएँ स्थापित हैं, तो चलिए चरण 1 पर चलते हैं।

चरण 1: सेटअप फ़ाइल लिखना

सेटअप फ़ाइल लिखना
सेटअप फ़ाइल लिखना
सेटअप फ़ाइल लिखना
सेटअप फ़ाइल लिखना
सेटअप फ़ाइल लिखना
सेटअप फ़ाइल लिखना
सेटअप फ़ाइल लिखना
सेटअप फ़ाइल लिखना

इसे इतना सुरक्षित बनाने वाले कारकों में से एक पासवर्ड की जांच के लिए हैश का उपयोग है। सेटअप फ़ाइल (मैं अपना setupsafe.py कॉल कर रहा हूं) जा रहा है:

- पासवर्ड के लिए एक फोल्डर और डमी फाइल बनाएं

- पासवर्ड सेट करें

- फ़ाइल नंबर सेट करें

- पासवर्ड हैश करें

सबसे पहले, हम अपनी निर्भरताएँ आयात करने जा रहे हैं:

sys आयात से *

आयात ओएस

यादृच्छिक आयात करें

आयात हैशलिब

आगे हम पासवर्ड हैश और डमी फाइलों को रखने के लिए एक फोल्डर बनाएंगे:

कोशिश करें: यदि नहीं os.path.exists('desktop/safesetup'):

os.mkdir ('डेस्कटॉप/सेफसेटअप/')

OSError को छोड़कर:

प्रिंट ("फ़ोल्डर बनाने में त्रुटि")

यह कोड सेफसेटअप नामक एक फ़ोल्डर बनाएगा (जब तक कि यह पहले से मौजूद न हो)।

इसके बाद, हम पासवर्ड सेट करने जा रहे हैं, और डमी फाइलों को नेविगेट करने के हमारे तरीके के रूप में 1 और 100 के बीच एक यादृच्छिक संख्या उत्पन्न करते हैं:

वैश्विक पासवर्डपासवर्ड = argv[1].encode('utf-8')

n = random.randint(1, 101)

अब जब हमारे पास अपना पासवर्ड और हमारी फाइल नंबर है, तो हम सेफसेटअप के अंदर 99 डमी फाइलें बनाने जा रहे हैं, और एक वास्तविक फाइल जिसमें हमारा पासवर्ड हैश होगा:

रेंज में एक्स के लिए (१०१): अगर (एक्स! = एन):

f = खुला (("डेस्कटॉप/सेफसेटअप/"+str(x)), "w+")

एफ.क्लोज़ ()

अन्यथा:

पासवर्ड = हैशलिब.sha256 (पासवर्ड)। हेक्सडाइजेस्ट ()

f = खुला (("डेस्कटॉप/सेफसेटअप/"+str(x)), "w+")

f.लिखना (पासवर्ड)

एफ.क्लोज़ ()

प्रिंट (एन)

वास्तविक फ़ाइल को जो भी पूर्णांक n है, कहा जाता है। sha256 एल्गोरिथम का उपयोग करके हैश किए जाने के बाद, इस फ़ाइल में हमारा पासवर्ड होता है (यह हैश एल्गोरिथम व्यापक रूप से क्रिप्टोकरेंसी में उपयोग किया जाता है, विशेष रूप से बिटकॉइन)।

याद रखें कि n क्या है (इसे कंसोल में प्रिंट किया जाएगा), क्योंकि यह पासवर्ड जितना ही महत्वपूर्ण है।

हमें अपने सेटअप प्रोग्राम के लिए बस इतना ही चाहिए, इसलिए अब हम एन्क्रिप्शन/डिक्रिप्शन प्रोग्राम पर आगे बढ़ेंगे।

चरण 2: एन्क्रिप्शन/डिक्रिप्शन फ़ाइल

एन्क्रिप्शन/डिक्रिप्शन फ़ाइल
एन्क्रिप्शन/डिक्रिप्शन फ़ाइल
एन्क्रिप्शन/डिक्रिप्शन फ़ाइल
एन्क्रिप्शन/डिक्रिप्शन फ़ाइल
एन्क्रिप्शन/डिक्रिप्शन फ़ाइल
एन्क्रिप्शन/डिक्रिप्शन फ़ाइल

मुख्य फ़ाइल का सेटअप अनुभाग निर्भरताओं को आयात करता है, इनपुट किए गए पासवर्ड को हैश करता है, और इनपुट की गई फ़ाइल संख्या का उपयोग करके वास्तविक पासवर्ड हैश प्राप्त करता है।

सबसे पहले, निर्भरताएँ:

sys आयात से *आयात os

आयात pyAesCrypt

आयात हैशलिब

अगला, इनपुट किए गए पासवर्ड की हैशिंग:

पासवर्ड = argv[1].encode('utf-8')password = hashlib.sha256(password).hexdigest()

अंत में, हैशेड पासवर्ड पुनर्प्राप्ति:

file_key = str(argv[2])hash = open(("desktop/safesetup/" + file_key), ("r+")).पढ़ें ()

एन्क्रिप्शन फ़ाइल का दूसरा खंड हैश की तुलना करता है, तुलना की सत्यता को निर्धारित करता है, और आपकी पसंद की फ़ाइल को एन्क्रिप्ट या डिक्रिप्ट करने के लिए AESCrypt पायथन लाइब्रेरी का उपयोग करता है। यह कोड का एक बड़ा हिस्सा है, लेकिन मैं इसे तोड़ दूंगा:

अगर (पासवर्ड == हैश): प्रिंट ("पासवर्ड स्वीकृत")

बफरसाइज = 64 * 1024

ऑपरेशन = str (इनपुट ("क्या आप फ़ाइलों को पुनर्प्राप्त या एन्क्रिप्ट कर रहे हैं? (आर या ई)"))

अगर (ऑपरेशन == 'आर'):

file_name = str (इनपुट ("पुनर्प्राप्त करने के लिए फ़ाइल:"))

pyAesCrypt.decryptFile((file_name + ".aes"), file_name, पासवर्ड, बफ़रसाइज़)

os.remove ((file_name + ".aes"))

एलिफ (ऑपरेशन == 'ई'):

file_name = str (इनपुट ("एन्क्रिप्ट करने के लिए फ़ाइल:"))

pyAesCrypt.encryptFile(file_name, (file_name + ".aes"), पासवर्ड, बफ़रसाइज़)

os.remove(file_name)

अन्यथा:

प्रिंट ("त्रुटि: गलत इनपुट")

अन्यथा:

प्रिंट ("प्रवेश निषेध")

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

भविष्य में, मैं पाइथन ओपनसीवी लाइब्रेरी का उपयोग करके चेहरे की पहचान को शामिल करने के लिए इसे अपडेट कर सकता हूं, लेकिन अभी के लिए पासवर्ड पर्याप्त होंगे।

चरण 3: फाइलों का संचालन

सेटअप फ़ाइल चलाने के लिए, इन चरणों का पालन करें:

1. टर्मिनल में टाइप करें:

python3 निर्देशिका/setupname.py पासवर्ड (निर्देशिका, सेटअपनाम और पासवर्ड को उनके संबंधित मानों से बदलना)

2. टर्मिनल आपके फाइल नंबर को आउटपुट करेगा। इसे रखें।

एन्क्रिप्शन/डिक्रिप्शन प्रोग्राम चलाने के लिए, इन चरणों का पालन करें:

1. टर्मिनल में टाइप करें:

python3 निर्देशिका/filename.py पासवर्ड फ़ाइल संख्या (निर्देशिका, फ़ाइल नाम, पासवर्ड और फ़ाइल संख्या को उनके संबंधित मानों से बदलना)

2. तब टर्मिनल आपके पासवर्ड को स्वीकार या अस्वीकार कर देगा। यदि अस्वीकार कर दिया जाता है, तो पुनः प्रयास करें और सुनिश्चित करें कि आपने सही मान टाइप किए हैं। एक बार पहुंच प्रदान करने के बाद, टर्मिनल आपसे पूछेगा कि क्या आप किसी फ़ाइल को एन्क्रिप्ट करना चाहते हैं या किसी फ़ाइल को पुनः प्राप्त करना चाहते हैं। किसी फ़ाइल को एन्क्रिप्ट करने के लिए, e टाइप करें, और एन्क्रिप्टेड फ़ाइल को पुनः प्राप्त करने के लिए, r टाइप करें।

3. फिर आपको फ़ाइल नाम प्रदान करने के लिए कहा जाएगा। फ़ाइल की निर्देशिका के साथ-साथ नाम, और फ़ाइल एक्सटेंशन भी प्रदान करना याद रखें। हालाँकि, यदि आप किसी फ़ाइल को डिक्रिप्ट कर रहे हैं, तो एक्सटेंशन का.aes भाग टाइप न करें, क्योंकि उसके लिए कोड खाता है।

4. प्रोग्राम तब प्रदान की गई फ़ाइल को एन्क्रिप्ट या डिक्रिप्ट करता है, और फ़ाइल को उसकी पिछली स्थिति में हटा देता है (एन्क्रिप्टेड या डिक्रिप्टेड फ़ाइल को बनाए रखना)।

वोइला! इसे अब तक शिक्षाप्रद बनाने के लिए धन्यवाद, मुझे पता है कि कोड ट्यूटोरियल पढ़ना सबसे मनोरंजक बात नहीं है। इस चरण में अजगर फाइलें संलग्न हैं, आप में से उन लोगों के लिए जो इसे एक शॉट देना चाहते हैं। एक बार फिर, पढ़ने के लिए धन्यवाद, और मैं आपके भविष्य के कोडिंग प्रयासों में आपको शुभकामनाएं देता हूं।

सिफारिश की: