>  기사  >  백엔드 개발  >  숫자와 문자를 포함하고 암호화 알고리즘으로 암호화되어야 하는 임의 비밀번호를 생성하는 C# 일괄 처리의 코드 예제에 대한 자세한 소개입니다.

숫자와 문자를 포함하고 암호화 알고리즘으로 암호화되어야 하는 임의 비밀번호를 생성하는 C# 일괄 처리의 코드 예제에 대한 자세한 소개입니다.

黄舟
黄舟원래의
2017-03-29 11:25:101797검색

이 글에서는 주로 C#을 소개합니다. 일괄 생성된 무작위 비밀번호는 숫자와 문자를 포함해야 하며 암호화 알고리즘으로 암호화되어야 합니다. 필요한 친구는

요구 사항을 참조할 수 있습니다. :

비밀번호는 숫자와 문자를 포함해야 합니다

아이디어:

1. 문자 . 양식 문자열: chars

2. randrom.Next(int i)를 사용하여 지정된 최대값보다 작은 음수가 아닌 난수를 반환합니다.

3. 문자 길이보다 작지 않은 임의의 숫자 a를 무작위로 선택하고, 문자열 문자의 a번째 문자를 선택합니다.

4. 8번 반복하여 8자리 비밀번호를 가져옵니다.

5. N번 반복하여 일괄적으로 비밀번호를 가져옵니다.

코드는 다음과 같이 구현됩니다MainFunction:

static void Main(string[] args)
    {
      string chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
      Random randrom = new Random((int)DateTime.Now.Ticks);
      string path1 = @"C:\Users\lenovo\Desktop\pws.txt";
      for (int j = 0; j < 10000;j++ )
      {
        string str = "";
        for (int i = 0; i < 8; i++)
        {
          str += chars[randrom.Next(chars.Length)];//randrom.Next(int i)返回一个小于所指定最大值的非负随机数
        }
        if (IsNumber(str))//判断是否全是数字
          continue;
        if (IsLetter(str))//判断是否全是字母
          continue;
        File.AppendAllText(path1, str);
        string pws = Md5(str,32);//MD5加密
        File.AppendAllText(path1, "," + pws + "\r\n");
      }
      Console.WriteLine("ok");
      Console.Read();
    }

String.trim 함수를 능숙하게 사용하여 모두인지 확인 숫자와 모든 문자.

설명: string.trim 문자열 개체 에서 앞뒤 공백 문자를 제거합니다.

반환값: 문자열의 시작과 끝에서 모든 공백 문자가 제거된 문자열의 복사본.

오버로드가 있습니다. string.Trim(params char[] trimChars)  

//현재 System.string 개체에서 배열 에 지정된 문자 집합을 제거합니다. All 선행 및 후행 일치

TrimChars: 문자 배열을 삭제하기 위해

메소드는 다음 코드를 구현합니다.

 //判断是否全是数字
    static bool IsNumber(string str)
    {
      if (str.Trim("0123456789".ToCharArray()) == "")
        return true;
      return false;
    }
    //判断是否全是字母
    static bool IsLetter(string str)
    {
      if (str.Trim("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".ToCharArray()) == "")
        return true;
      return false;
    }

MD5 암호화를 사용하면 알고리즘 코드가 다음과 같이 구현됩니다.

/// <summary>
    /// MD5加密
    /// </summary>
    /// <param name="str">加密字元</param>
    /// <param name="code">加密位数16/32</param>
    /// <returns></returns>
    public static string Md5(string str, int code)
    {
      string strEncrypt = string.Empty;
      MD5 md5 = new MD5CryptoServiceProvider();
      byte[] fromData = Encoding.GetEncoding("GB2312").GetBytes(str);
      byte[] targetData = md5.ComputeHash(fromData);
      for (int i = 0; i < targetData.Length; i++)
      {
        strEncrypt += targetData[i].ToString("X2");
      }
      if (code == 16)
      {
        strEncrypt = strEncrypt.Substring(8, 16);
      }
      return strEncrypt;
    }

는 배치 비밀번호를 생성하며, 암호화된 비밀번호는 아래와 같습니다.

위 내용은 숫자와 문자를 포함하고 암호화 알고리즘으로 암호화되어야 하는 임의 비밀번호를 생성하는 C# 일괄 처리의 코드 예제에 대한 자세한 소개입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.