मैं इस सवाल का जवाब पहले लिखा था, लेकिन फिर, फिर से विचार के बाद से मैं पहले DPAPI की प्रतिक्रिया नहीं मिली है। हालांकि, कुछ और विचारों पर, मैं निम्नलिखित राय देना चाहता हूं। यहां महत्वपूर्ण प्रस्ताव यह है कि यह सब आपकी आवश्यकताओं पर निर्भर करता है। दो परस्पर विरोधी संभावनाओं दिमाग में आते हैं:
आप अपने उपयोगकर्ता पूरा संरक्षण और एन्क्रिप्शन कि उपयोगकर्ता भरोसा कर सकते हैं केवल वह डिक्रिप्ट करने के लिए, कोई फर्क नहीं पड़ता परिस्थितियों में सक्षम हो जाएगा प्रदान करना चाहते हैं।
आप एक उद्यम आईटी प्रबंधक हैं और सभी कर्मचारियों को कड़े पट्टा पर हैं। आप चाहते हैं कि वे अपने वर्कफ़्लो के हिस्से के रूप में व्यावसायिक डेटा एन्क्रिप्ट करें ताकि वे एक दूसरे के डेटा को न देख सकें, लेकिन व्यवस्थापक खुशी से सभी के डेटा पढ़ सकते हैं।
यदि आप स्थिति में हैं (2), तो अब पढ़ना बंद करें और डीपीएपीआई के साथ जाएं, जो उस मामले के लिए उपयुक्त है। यदि आप परिदृश्य (1) पसंद करते हैं, तो नीचे मेरा मूल उत्तर पढ़ें।
शायद यह एक अच्छा विचार नहीं है। यहां बताया गया है:
वास्तविक पासवर्ड सिस्टम पर संग्रहीत नहीं किया जाएगा (जब तक आपके पास Windows 3.11 या ऐसा कुछ न हो)। इसके बजाए, पासवर्ड का केवल एक हैश संग्रहीत किया जाएगा, और लॉगिन समय पर उपयोगकर्ता द्वारा दर्ज किया गया पासवर्ड धोया गया है और संग्रहीत हैश की तुलना में है।
तो सबसे अच्छा आप सिस्टम से संग्रहीत हैश पुनर्प्राप्त कर सकते हैं (यदि आपके पास व्यवस्थापकीय अधिकार हैं, तो कहें)। हालांकि, अगर यह एकमात्र डाटाम है जिसे आप आगे बढ़ सकते हैं, तो आपके द्वारा किए गए किसी भी एन्क्रिप्शन कुंजी को वास्तविक पासवर्ड की बजाय उस हैश से लिया जाएगा। इस प्रकार सिस्टम तक पहुंचने वाला कोई भी व्यक्ति संग्रहित हैश तक पहुंच सकता है, और वहां से सापेक्ष आसानी से एन्क्रिप्शन कुंजी प्राप्त होती है।
संक्षेप में, नहीं। उपयोगकर्ता को अपने डेटा के लिए एक समर्पित, ताजा पासवर्ड के लिए पूछें और केवल इसके लिए इसका इस्तेमाल करें।
स्रोत
2011-09-06 10:31:32
बस इस स्पष्ट करना: आप अंततः डेटा आप सही को एनक्रिप्ट कर रहे हैं ठीक करने के लिए सक्षम होना चाहते हैं? आप उपयोगकर्ता के पासवर्ड को स्टोर करने की कोशिश नहीं कर रहे हैं, लेकिन एन्क्रिप्शन कुंजी प्राप्त करने के लिए इसका उपयोग करने के लिए, है ना? –
बिल्कुल सही! – TCS