程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#斷定暗碼強度的辦法

C#斷定暗碼強度的辦法

編輯:C#入門知識

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#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved