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("    
"); break; case Strength.Weak: Console.WriteLine("
"); break; case Strength.Normal: Console.WriteLine("
"); break; case Strength.Strong: Console.WriteLine("
"); break; } } }
4.실행 결과:

본 고 에서 말 한 것 이 여러분 의 C\#프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기