मेरे मामले में मैं ड्रॉपबॉक्स एपीआई का उपयोग कर रहा हूं। वर्तमान में मैं एक JSON फ़ाइल में कुंजी और रहस्य संग्रहीत कर रहा हूं, बस इतना है कि मैं इसे गिटबिन कर सकता हूं और इसे गीथब रेपो से बाहर रख सकता हूं, लेकिन स्पष्ट रूप से यह सुरक्षा दृष्टिकोण से कोड में रखने से बेहतर नहीं है। पहले (आमतौर पर व्यावसायिक कारणों से) पाइथन की सुरक्षा/obfuscating के बारे में बहुत सारे प्रश्न हैं और जवाब हमेशा होता है "नहीं, पाइथन इसका मतलब नहीं है।"मुझे पाइथन ऐप में एपीआई कुंजी कैसे स्टोर करनी चाहिए?
इस प्रकार, मैं कोड की सुरक्षा करने का कोई तरीका नहीं ढूंढ रहा हूं, लेकिन सिर्फ एक समाधान है जो मुझे मेरे एपीआई विवरणों को प्रकट किए बिना मेरे ऐप को वितरित करने देगा।
उन्हें एक टेक्स्ट फ़ाइल में एन्क्रिप्टेड मानों के रूप में भरें। एक निजी रूप से संग्रहीत एन्क्रिप्शन कुंजी बनाएं, आवश्यकता होने पर डिक्रिप्ट करें। हालांकि एक बेहतर तरीका हो सकता है, लेकिन इस तरह से अतीत में मेरे लिए अच्छा काम किया है। –
यदि कोई व्यक्ति अपने कंप्यूटर पर प्रोग्राम चलाता है, और प्रोग्राम कुंजी का उपयोग करता है, तो यह व्यावहारिक रूप से खुलासा किया जाता है। यह वायरशर्क को आग लगाने के लिए प्रतिभा नहीं लेता है, प्रोग्राम को कनेक्ट करने देता है, और ड्रॉपबॉक्स से कनेक्शन के लिए कैप्चर फ़िल्टर करता है (या कुछ अन्य मानदंड - कुछ सौ पैकेट के माध्यम से आप खोदने वाले सबसे खराब मामले)। और केवल प्रोग्राम को खराब करने से आप कुछ भी नहीं खरीदेंगे, क्योंकि आप स्ट्रिंग अक्षर को बदल नहीं सकते हैं कि एपीआई कुंजी है, या यह आपके प्रोग्राम के लिए उपयोग नहीं करेगा। – delnan
@ डेलनान लेकिन क्या एपीआई कुंजी HTTP यातायात में दिखाई देगी? ड्रॉपबॉक्स एसएसएल पर सबकुछ करते हैं। मुझे नहीं पता कि वे जीईटी या पोस्ट वैरिएबल का उपयोग करते हैं या सिर्फ उन्हें HTTP अनुरोध के शीर्षकों में डालते हैं। क्या वे चीजें एक HTTPS अनुरोध में एन्क्रिप्टेड हैं, या केवल अनुरोध के निकाय हैं? – espekia