Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in das Codebeispiel der C#-Batch-Generierung zufälliger Passwörter, die Zahlen und Buchstaben enthalten und mit einem Verschlüsselungsalgorithmus verschlüsselt sein müssen.

Detaillierte Einführung in das Codebeispiel der C#-Batch-Generierung zufälliger Passwörter, die Zahlen und Buchstaben enthalten und mit einem Verschlüsselungsalgorithmus verschlüsselt sein müssen.

黄舟
黄舟Original
2017-03-29 11:25:101802Durchsuche

Dieser Artikel stellt hauptsächlich C# vor. Batchgenerierte Zufallskennwörter müssen Zahlen und Buchstaben enthalten und mit einem Verschlüsselungsalgorithmus verschlüsselt sein

Anforderungen :

Passwort muss Zahlen und Buchstaben enthalten

Ideen:

1 Charaktere. Form string: chars

2. Verwenden Sie randrom.Next(int i), um eine nicht negative Zufallszahl zurückzugeben, die kleiner als der angegebene Maximalwert ist.

3. Wählen Sie zufällig eine Zufallszahl a aus, die nicht kleiner als die Länge von chars ist, und wählen Sie das a-te Zeichen der Zeichenfolge chars aus.

4. Schleife 8 Mal, um das 8-stellige Passwort zu erhalten

5. Schleife N Mal, um das Passwort stapelweise zu erhalten.

Der Code ist wie folgt implementiertHauptfunktionFunktion:

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();
    }

Verwenden Sie die Funktion String.trim geschickt, um festzustellen, ob alle sind Zahlen.

Beschreibung: string.trim Entfernt führende und nachfolgende Leerzeichen aus dem String -Objekt .

Gibt zurück: eine Kopie der Zeichenfolge, wobei alle Leerzeichen am Anfang und Ende der Zeichenfolge entfernt wurden.

hat eine Überladung: string.Trim(params char[] trimChars)  

//Entfernt einen im -Array angegebenen Zeichensatz aus dem aktuellen System.string-Objekt Alle Führende und nachfolgende Übereinstimmungen

trimChars: Um das Zeichenarray von zu löschen, implementiert die Methode

den folgenden Code:

 //判断是否全是数字
    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;
    }

Verwenden Sie die MD5-Verschlüsselung. Der Algorithmuscode ist wie folgt implementiert:

/// <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;
    }

Generieren Sie Batch-Passwörter. Die verschlüsselten Passwörter sind wie folgt:

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in das Codebeispiel der C#-Batch-Generierung zufälliger Passwörter, die Zahlen und Buchstaben enthalten und mit einem Verschlüsselungsalgorithmus verschlüsselt sein müssen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn