/ / .NET सी # पासवर्ड रीसेट करें - यादृच्छिक! - सी #, नेट

.NET C # पासवर्ड रीसेट करें - यादृच्छिक! - सी #, नेट

मैंने सामान्य Google खोज की है और मुझे लगता है कि मैं यह कहने में सही हूं कि .NET Framework में कोई यादृच्छिक पासवर्ड जनरेटर नहीं है। इरादे भूल गए उपयोगकर्ताओं के लिए एडी में पासवर्ड रीसेट करना है।

प्रवेश परीक्षा के अगले चरण में यह एक मुद्दा होना चाहिए। मैं प्रतिक्रिया से बचना चाहता हूं "ओह हाँ, मैंने अभी अपनी जेनरेटर चीज़ को खारिज कर दिया"।

सिफारिशें क्या हैं? निश्चित रूप से मैं .NET रैंडम क्लास और वर्णों की एक सरणी पर भरोसा नहीं कर सकता।

चीयर्स।

उत्तर:

उत्तर № 1 के लिए 13

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

इसके अलावा, वास्तव में है यादृच्छिक पासवर्ड उत्पन्न करने के लिए बीसीएल में एक विधि, लेकिन इसमें छिपी हुई है System.Web सभा। स्थैतिक विधि Membership.GeneratePassword कॉलर द्वारा निर्दिष्ट लंबाई के पासवर्ड उत्पन्न कर सकते हैं।

उत्पन्न करने के लिए जेनरेट पासवर्ड विधि का उपयोग किया जाता हैयादृच्छिक पासवर्ड और किसी उपयोगकर्ता के लिए पासवर्ड को नए, अस्थायी पासवर्ड पर रीसेट करने के लिए सदस्यता प्रदाता द्वारा कार्यान्वित ResetPassword विधि द्वारा सबसे अधिक उपयोग किया जाता है।

जेनरेट किए गए पासवर्ड में केवल अल्फान्यूमेरिक होता हैवर्ण और निम्नलिखित विराम चिह्न चिह्न:! @ # $% ^ और * () _- + = [{]};: <> | ./? जेनरेट किए गए पासवर्ड में कोई छुपा या गैर-प्रिंट करने योग्य नियंत्रण वर्ण शामिल नहीं हैं।

प्रलेखन में संबंधित कोई जानकारी नहीं है किस तरह पासवर्ड बनाया गया है, लेकिन स्रोत कोड उपलब्ध है आप के लिए एक नज़र रखना है।


जवाब के लिए 4 № 2

यदि आप वास्तव में सच यादृच्छिकता चाहते हैं तो आपको इसका उपयोग करना चाहिए RNGCryptoServiceProvider के बजाय कक्षा बिना सोचे समझे ऐसे कार्यों के लिए। यहां एक उदाहरण है .NET में यादृच्छिक पासवर्ड कैसे बनाएं.


जवाब के लिए 2 № 3

यहां सरल-याद रखने वाले पासवर्ड उत्पन्न करने के लिए एक फ़ंक्शन है। उपयोगकर्ता को पंजीकरण के दौरान टाइप करने के बजाय पासवर्ड को रीसेट करने या प्रारंभिक पासवर्ड बनाने के लिए उपयोगी हो सकता है।

    // Creates fairly easy-to-remember random passwords, consisting of
// three syllables (consonnant + vowel) and two digits at the end.
// A total of 172"800"000 combinations is possible.
public static string GeneratePassword()
{
const string consonnants = "bcdfghjklmnpqrstvwxz";
const string vowels = "aeiouy";

string password = "";
byte[] bytes = new byte[4];
var rnd = new RNGCryptoServiceProvider();
for (int i=0; i<3; i++)
{
rnd.GetNonZeroBytes(bytes);
password += consonnants[bytes[0]*bytes[1] % consonnants.Length];
password += vowels     [bytes[2]*bytes[3] % vowels.Length];
}

rnd.GetBytes(bytes);
password += (bytes[0] % 10).ToString() + (bytes[1] % 10).ToString();
return password;
}

यह उन जैसे पासवर्ड उत्पन्न करता है:

bavara11
baqovi84
namana07
cyluha55
vobana18
qanabi05
bukinu09
gapupa29

अनुलेख वे शायद दुनिया में सबसे सुरक्षित पासवर्ड नहीं हैं, लेकिन मैं बीईटी, इंटरनेट पर उपयोग करने वाले लोगों की औसत से अधिक मजबूत हैं।