C#斷定暗碼強度的辦法。本站提示廣大學習愛好者:(C#斷定暗碼強度的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#斷定暗碼強度的辦法正文
本文實例講述了C#斷定暗碼強度的辦法。分享給年夜家供年夜家參考。詳細以下:
1.關於暗碼強度
暗碼強度有強弱之分,包括數字、字母和其他符號三者且長度不小於10的暗碼被稱為強暗碼,只要個中一者或長度不年夜於6的暗碼是弱暗碼,其他暗碼是中等強度暗碼。
2.斷定暗碼強弱的函數
/// <summary> /// 暗碼強度 /// </summary> private enum Strength { Invalid = 0, //有效暗碼 Weak = 1, //低強度暗碼 Normal = 2, //中強度暗碼 Strong = 3 //高強度暗碼 }; /// <summary> /// 盤算暗碼強度 /// </summary> /// <param name="password">暗碼字符串</param> /// <returns></returns> private static Strength PasswordStrength(string password) { //空字符串強度值為0 if (password == "") return Strength.Invalid; //字符統計 int iNum = 0, iLtt = 0, iSym = 0; foreach (char c in password) { if (c >= '0' && c <= '9') iNum++; else if (c >= 'a' && c <= 'z') iLtt++; else if (c >= 'A' && c <= 'Z') iLtt++; else iSym++; } if (iLtt == 0 && iSym == 0) return Strength.Weak; //純數字暗碼 if (iNum == 0 && iLtt == 0) return Strength.Weak; //純符號暗碼 if (iNum == 0 && iSym == 0) return Strength.Weak; //純字母暗碼 if (password.Length <= 6) return Strength.Weak; //長度不年夜於6的暗碼 if (iLtt == 0) return Strength.Normal; //數字和符號組成的暗碼 if (iSym == 0) return Strength.Normal; //數字和字母組成的暗碼 if (iNum == 0) return Strength.Normal; //字母和符號組成的暗碼 if (password.Length <= 10) return Strength.Normal; //長度不年夜於10的暗碼 return Strength.Strong; //由數字、字母、符號組成的暗碼 }
3.Main函數挪用
static void Main(string[] args) { string sPassword; while (true) { Console.WriteLine("請輸出一個暗碼:"); sPassword = Console.ReadLine(); switch (PasswordStrength(sPassword)) { case Strength.Invalid: Console.WriteLine("有效暗碼\n"); break; case Strength.Weak: Console.WriteLine("低強度暗碼\n"); break; case Strength.Normal: Console.WriteLine("中強度暗碼\n"); break; case Strength.Strong: Console.WriteLine("高強度暗碼\n"); break; } } }
4.運轉成果:
願望本文所述對年夜家的C#法式設計有所贊助。