2010-06-04 8 views
5

मैं एक सुरक्षित स्ट्रिंग में wpf पासवर्ड बॉक्स से डेटा प्राप्त करने का प्रयास कर रहा हूं। यह कैसे किया जाता है? क्या मैं अब तक है:wpf पासवर्ड बॉक्स में एक सिक्योरस्टिंग में सी #

SecureString pass = new SecureString(); 
     pass.AppendChar(pbox1.Password); 

इस पाठ्यक्रम काम नहीं करता है, तो मैं कैसे पासवर्ड डेटा एक नियमित स्ट्रिंग बनाने के बिना प्राप्त होगा?

उत्तर

8

आप SecurePassword संपत्ति

SecureString pass = pbox1.SecurePassword 
+3

ऐसा करने से 'सिक्योरस्ट्रिंग' का उपयोग करने के उद्देश्य से काफी हद तक हार जाती है। –

16

Per MSDN अधिक सुरक्षित रूप से

SecureString pass = new SecureString(); 

foreach (char c in pbox1.Password) 
{ 
    pass.AppendChar(c); 
} 

में हर किरदार को पढ़ने के लिए या का उपयोग की जरूरत है:

जब आप पासवर्ड संपत्ति मूल्य मिलता है, आप स्मृति में सादा पाठ के रूप में पासवर्ड का पर्दाफाश करें। इस संभावित सुरक्षा जोखिम से बचने के लिए, सिक्योरपैसवर्ड प्रॉपर्टी का उपयोग पासवर्ड को सिक्योरस्टिंग के रूप में प्राप्त करने के लिए करें।

आपको पासवर्ड प्रॉपर्टी का उपयोग करने से बचना चाहिए जबतक कि आपको स्ट्रिंग के सादे टेक्स्ट संस्करण की आवश्यकता नहीं है। इस मामले में, सीधे सिक्योरस्ट्रिंग पुनर्प्राप्त करें।

+1

यदि सुरक्षित सुरक्षा का उपयोग कर पासवर्ड सेट करने का कोई तरीका था – Sebastian

3
SecureString pass = pbox1.SecurePassword.Copy(); 
संबंधित मुद्दे