यह भी देखें What is the best way to check the strength of a password?आप पासवर्ड जटिलता की गणना कैसे करते हैं?
कुछ एप्लिकेशन (या वेबसाइट) जब आप इसे टाइप करते हैं तो पासवर्ड जटिलता की गणना करते हैं। वे आम तौर पर एक लाल पट्टी जो नारंगी रंग में बदल प्रदर्शित करते हैं, तो हरे, फिर भी हरित अपना पासवर्ड के रूप में लंबे समय तक मिलता है, और पात्रों में से अधिक कक्षाओं में शामिल है (यानी लोअरकेस, अपरकेस, विराम चिह्न, अंक ...)
यहाँ एल्गोरिथ्म मैं है उपयोग।
private int GetPasswordComplexity(string password)
{
if (password.Length <= 4)
return 1;
int complexity = 0;
int digit = 0;
int letter = 0;
int cap = 0;
int other = 0;
for (int i = 0; i < password.Length; i++)
{
if (char.IsDigit(password[i]) && i!=password.Length-1)
digit = 1;
else if (char.IsLower(password[i]))
letter = 1;
else if (char.IsUpper(password[i]) && i!=0)
cap = 1;
else
other = 1;
}
complexity = digit + letter + cap + other;
if (password.Length <= 7)
complexity = Math.Min(3, complexity);
return complexity;
}
मुझे इस तथ्य से चिंतित है कि मेरा एल्गोरिदम "पासवर्ड 1" रेट करेगा! "बहुत मजबूत" और "] @ feé: m" के रूप में "कमजोर" के रूप में क्योंकि यह केवल 7 char लंबा है।
संपादित करें: मैंने क्रमशः कैपिटल अक्षरों और अंकों को अनदेखा करने के लिए एल्गोरिदम अपडेट किया है जब वे क्रमशः पासवर्ड के पहले और अंतिम अक्षर हैं।
क्या यहां किसी को भी इस तरह की समस्याओं का अनुभव है? सामान्य शब्दों का पता लगाने के लिए आप एक शब्दकोश कैसे जोड़ेंगे?
बिल्कुल शानदार वर्णन। बहुत बहुत शुक्रिया! –
अच्छा विचार। लेकिन: जटिलता ("पासवर्ड पासवर्ड") = 52^17 = 1.5^10^2 9 जटिलता ("!:^डीई 1") = 94^6 = 6x10^11 अब, कौन सा पासवर्ड मजबूत है? – Brann
यह केवल एक मोटा उपाय है। आप शायद सबसे आम पासवर्ड भी स्क्रीन करना चाहते हैं। http://www.modernlifeisrubbish.co.uk/article/top-10-most-common-passwords http://lawprofessors.typepad.com/law_librarian_blog/2007/05/10_most_common_.html – tvanfosson