欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#判斷密碼強(qiáng)度的方法

 更新時(shí)間:2015年08月12日 14:55:47   作者:北風(fēng)其涼  
這篇文章主要介紹了C#判斷密碼強(qiáng)度的方法,較為詳細(xì)的分析了C#判斷密碼強(qiáng)度的原理與實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C#判斷密碼強(qiáng)度的方法。分享給大家供大家參考。具體如下:

1.關(guān)于密碼強(qiáng)度

密碼強(qiáng)度有強(qiáng)弱之分,包含數(shù)字、字母和其他符號(hào)三者且長(zhǎng)度不小于10的密碼被稱為強(qiáng)密碼,只有其中一者或長(zhǎng)度不大于6的密碼是弱密碼,其他密碼是中等強(qiáng)度密碼。

2.判斷密碼強(qiáng)弱的函數(shù)

/// <summary>
/// 密碼強(qiáng)度
/// </summary>
private enum Strength
{
 Invalid = 0, //無(wú)效密碼
 Weak = 1, //低強(qiáng)度密碼
 Normal = 2, //中強(qiáng)度密碼
 Strong = 3 //高強(qiáng)度密碼
};
/// <summary>
/// 計(jì)算密碼強(qiáng)度
/// </summary>
/// <param name="password">密碼字符串</param>
/// <returns></returns>
private static Strength PasswordStrength(string password)
{
 //空字符串強(qiáng)度值為0
 if (password == "") return Strength.Invalid;
 //字符統(tǒng)計(jì)
 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; //純數(shù)字密碼
 if (iNum == 0 && iLtt == 0) return Strength.Weak; //純符號(hào)密碼
 if (iNum == 0 && iSym == 0) return Strength.Weak; //純字母密碼
 if (password.Length <= 6) return Strength.Weak; //長(zhǎng)度不大于6的密碼
 if (iLtt == 0) return Strength.Normal; //數(shù)字和符號(hào)構(gòu)成的密碼
 if (iSym == 0) return Strength.Normal; //數(shù)字和字母構(gòu)成的密碼
 if (iNum == 0) return Strength.Normal; //字母和符號(hào)構(gòu)成的密碼
 if (password.Length <= 10) return Strength.Normal; //長(zhǎng)度不大于10的密碼
 return Strength.Strong; //由數(shù)字、字母、符號(hào)構(gòu)成的密碼
}

3.Main函數(shù)調(diào)用

static void Main(string[] args)
{
 string sPassword;
 while (true)
 {
  Console.WriteLine("請(qǐng)輸入一個(gè)密碼:");
  sPassword = Console.ReadLine();
  switch (PasswordStrength(sPassword))
  {
   case Strength.Invalid: Console.WriteLine("無(wú)效密碼\n"); break;
   case Strength.Weak: Console.WriteLine("低強(qiáng)度密碼\n"); break;
   case Strength.Normal: Console.WriteLine("中強(qiáng)度密碼\n"); break;
   case Strength.Strong: Console.WriteLine("高強(qiáng)度密碼\n"); break;
  }
 }
}

4.運(yùn)行結(jié)果:

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論