मेरे पास एक परिदृश्य है जो मुझे वर्षों से परेशान कर रहा है। यदि आपको उपयोगकर्ता नाम और पासवर्ड का उपयोग कर डेटाबेस या अन्य सेवा (जैसे एक वेब सेवा) से कनेक्ट करना है, तो यदि आप .NET असेंबली से कनेक्ट कर रहे हैं तो इस जानकारी को स्टोर करने के लिए सबसे सुरक्षित स्थान कहां होगा? मैं समझता हूं कि आपको पासवर्ड एन्क्रिप्ट करना होगा, लेकिन फिर आप एक प्रकार की चिकन-अंडे की समस्या में भाग लेंगे - ठीक है - आप इसे एन्क्रिप्ट कर सकते हैं, लेकिन फिर आप कुंजी कहां डाल सकते हैं?विंडोज .NET या ASP.NET अनुप्रयोगों का उपयोग करते समय डीबी पासवर्ड स्टोर करने के लिए कहां
.NET में, आप पासवर्ड को हार्डकोड नहीं कर सकते क्योंकि आप .NET कोड को संकुचित कर सकते हैं।
मैंने पृथक भंडारण के साथ असेंबली आधारित अधिकारों का उपयोग करने पर विचार किया, लेकिन एमएस अनएन्क्रिप्टेड गुप्त वस्तुओं को संग्रहीत करने के खिलाफ सिफारिश करता है क्योंकि निजीकृत उपयोगकर्ता पहुंच प्राप्त कर सकते हैं, इसलिए फिर से, हम बिंदु ए से बिंदु बी तक समस्या को आगे बढ़ा रहे हैं। उदाहरण के लिए, डोमेन पर किसी भी वर्कस्टेशन पर व्यवस्थापक होने की क्षमता के कारण डेटाबेस में जानकारी के बारे में जानने की आवश्यकता वाले डोमेन व्यवस्थापक को पहुंच प्राप्त करने में सक्षम हो जाएगा।
आप App.Config और Web.Config को एन्क्रिप्ट कर सकते हैं, लेकिन मेरा मानना है कि निजी क्षेत्र उपयोगकर्ता कुंजी को एक्सेस कर सकते हैं।
मुझे लगता है कि आप डीपीएपीआई के साथ एक ही समस्या में भाग लेते हैं।
मैंने पासवर्ड को संग्रहीत करने, एक रिमोट डेटाबेस में एन्क्रिप्ट किया और उन्हें ओएस प्रमाणीकरण के माध्यम से प्राप्त करने पर विचार किया था, लेकिन हमारा विभाग डेटाबेस सर्वर पर पासवर्ड के संग्रहण को प्रतिबंधित करता है। मुझे पूरा यकीन है कि मैं अटक गया हूं और पुष्टि चाहता हूं।
मुझे पता है कि यह थोड़ी देर पहले है, लेकिन मैंने आपके प्रश्न का उत्तर प्रदान किया है कि एन्क्रिप्टेड पासवर्ड कैसे स्टोर करें। कृपया एक नज़र डालें। – Matt