मैं अपने कुछ प्रोग्राम विकल्पों को सहेजने के लिए सुविधा सेटिंग्स में निर्मित दृश्य सी # का उपयोग कर रहा हूं। मैं भी एक पासवर्ड स्टोर करना चाहता हूं, लेकिन फिर यह सार्वजनिक आता है ... क्या इस सेटिंग विधि का उपयोग करके इसे सहेजने से पहले पासवर्ड एन्क्रिप्ट करना संभव है और फिर इसे वापस डिक्रिप्ट करना संभव है?सी # सेटिंग्स सुविधा का उपयोग कर पासवर्ड सहेजते समय सबसे अच्छा अभ्यास क्या है?
उत्तर
सरल एन्क्रिप्शन आवश्यकताओं के लिए, मैंने ProtectedData कक्षा के माध्यम से डीपीएपीआई का उपयोग किया है। परिणामी एन्क्रिप्टेड मान को टेक्स्ट फ़ाइल या रजिस्ट्री में आभारी बनाने के लिए, मैं परिणामी बाइट सरणी को एन्कोड करता हूं।
namespace SomeNamespace
{
using System;
using System.Security.Cryptography;
using System.Text;
/// <summary>
/// used for encryption and decryption
/// </summary>
public static class DataProtector
{
private const string EntropyValue = "secret";
/// <summary>
/// Encrypts a string using the DPAPI.
/// </summary>
/// <param name="stringToEncrypt">The string to encrypt.</param>
/// <returns>The encrypted data.</returns>
public static string EncryptData(string stringToEncrypt)
{
byte[] encryptedData = ProtectedData.Protect(Encoding.Unicode.GetBytes(stringToEncrypt), Encoding.Unicode.GetBytes(EntropyValue), DataProtectionScope.LocalMachine);
return Convert.ToBase64String(encryptedData);
}
/// <summary>
/// Decrypts a string using the DPAPI.
/// </summary>
/// <param name="stringToDecrypt">The string to decrypt.</param>
/// <returns>The decrypted data.</returns>
public static string DecryptData(string stringToDecrypt)
{
byte[] decryptedData = ProtectedData.Unprotect(Convert.FromBase64String(stringToDecrypt), Encoding.Unicode.GetBytes(EntropyValue), DataProtectionScope.LocalMachine);
return Encoding.Unicode.GetString(decryptedData);
}
}
}
हां, आपके कोड के लिए धन्यवाद मैं इसे अपने आप करने में कामयाब रहा ... मैं तुमसे प्यार करता हूँ !!! –
यदि आप पासवर्ड एन्क्रिप्ट करते हैं, तो आपको प्रोग्राम में कहीं भी डिक्रिप्शन कुंजी स्टोर करना होगा, इसलिए यह अभी भी अस्पष्टता से सुरक्षा के लिए है।
हालांकि, यह ईमानदार लोगों को ईमानदार बनाए रखेगा।
इसके लिए मैंने देखा है कि सबसे आम अभ्यास एक चुनौती/प्रतिक्रिया प्रणाली है, जहां उपयोगकर्ता पंजीकरण नाम डालता है, कार्यक्रम एक चुनौती स्ट्रिंग प्रदान करता है, और आप उन्हें संबंधित प्रतिक्रिया स्ट्रिंग (एन्क्रिप्टेड) ईमेल करते हैं, जो कि कार्यक्रम में पंजीकरण संवाद में उपयोगकर्ता कटौती और पेस्ट। कार्यक्रम प्रतिक्रिया को अस्वीकार करता है, इसे चुनौती से तुलना करता है, और आप जाते हैं।
बेशक, चूंकि आपको अभी भी प्रोग्राम में डिक्रिप्शन पासवर्ड प्रदान करना है, फिर भी यह एक निर्धारित हैकर द्वारा पराजित किया जा सकता है।
ऐसा करने का एक आसान तरीका पासवर्ड को स्वयं एन्क्रिप्ट करना है। आप इसे कभी भी अनएन्क्रिप्ट नहीं कर पाएंगे, लेकिन आप उपयोगकर्ता द्वारा दर्ज किए गए पासवर्ड की तुलना करने में सक्षम होंगे।
+1 मुझे लगता है कि विचार पसंद:
यहाँ वर्ग मैं इस लपेट के लिए लिखा है। –
क्या आप मुझे एक संकेत दे सकते हैं कि मैं "अपने साथ पासवर्ड एन्क्रिप्ट कैसे कर सकता हूं" ... इसका मतलब क्या है? धन्यवाद। –
मुझे संदेह है कि ओपी पासवर्ड स्टोर करना चाहता है ताकि उपयोगकर्ता को इसे फिर से टाइप करने की आवश्यकता न हो ... यदि ऐसा है, तो यह समाधान बहुत उपयोगी नहीं है;) –
- 1. एक्शन.इनवोक का उपयोग कर सबसे अच्छा अभ्यास माना जाता है?
- 2. सबसे अच्छा django प्रोफाइल/उपयोगकर्ता सेटिंग्स एप्लिकेशन क्या है?
- 3. क्या सी ++ में size_t का उपयोग करना अच्छा अभ्यास है?
- 4. सी ++ पब्लिक एपीआई के लिए सबसे अच्छा अभ्यास क्या है?
- 5. सबसे अच्छा अभ्यास परिणाम
- 6. '!!' का उपयोग कर रहा है सी/सी ++ में अच्छा अभ्यास और क्या यह आम है?
- 7. आईफोन पर उपयोगकर्ता नाम और पासवर्ड स्टोर करने का सबसे अच्छा अभ्यास क्या है?
- 8. , EJB3 माना सबसे अच्छा अभ्यास
- 9. अप्रयुक्त पूर्णांक ओवरफ्लो अच्छा अभ्यास का उपयोग कर रहा है?
- 10. cfsqltype अच्छा अभ्यास का उपयोग कर रहा है?
- 11. टाइमज़ोन रूपांतरणों के लिए सबसे अच्छा अभ्यास क्या है?
- 12. django + Pymongo पूलिंग का सबसे अच्छा अभ्यास?
- 13. सी # में निजी और स्थैतिक निजी तरीकों का नामकरण करने का सबसे अच्छा अभ्यास क्या है?
- 14. जावास्क्रिप्ट के लिए सबसे अच्छा अभ्यास अभ्यास शैली क्या है? क्यूं कर?
- 15. आर में समय श्रृंखला को संभालने का सबसे अच्छा अभ्यास क्या है?
- 16. सी #: सबसे पठनीय स्ट्रिंग concatenation। सबसे अच्छा अभ्यास
- 17. पर्ल परीक्षणों को लिखते समय सबसे अच्छा अभ्यास क्या है जिसमें यादृच्छिकता शामिल है?
- 18. जावा enum सबसे अच्छा अभ्यास
- 19. यदि शर्तों के लिए सबसे अच्छा कोडिंग अभ्यास क्या है?
- 20. डब्ल्यूपीएफ में कमांड बाध्यकारी का उपयोग करते समय अपवादों को संभालने का सबसे अच्छा अभ्यास क्या है?
- 21. सी # का उपयोग कर नेटवर्क पर फाइल भेजने का सबसे अच्छा तरीका क्या है?
- 22. पासवर्ड भूल गए: भूल गए पासवर्ड फ़ंक्शन को लागू करने का सबसे अच्छा तरीका क्या है?
- 23. एसक्यूएल सर्वर टी-एसक्यूएल त्रुटि हैंडलिंग का सबसे अच्छा अभ्यास उपयोग क्या है?
- 24. सॉफ्टवेयर सेटिंग्स प्रदान करने का सबसे अच्छा तरीका?
- 25. ऑब्जेक्ट्स नामकरण गुणों के लिए सबसे अच्छा अभ्यास क्या है?
- 26. जावा स्विंग एप्लिकेशन में स्वयं-अपडेट सुविधा जोड़ने का सबसे अच्छा तरीका क्या है?
- 27. क्या यह संशोधित सी # सिंगलटन पैटर्न एक अच्छा अभ्यास है?
- 28. ईसी 2 उपलब्धता क्षेत्र का उपयोग करने के लिए सबसे अच्छा अभ्यास क्या है?
- 29. अभी दृढ़ता के लिए सबसे अच्छा अभ्यास क्या है?
- 30. क्या अमीर दस्तावेज़ आयात करते समय एसओएलआर के लिए सबसे अच्छा अभ्यास schema.xml है?
https://crackstation.net/hashing-security.htm – Soren