Heim >Backend-Entwicklung >C#.Net-Tutorial >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.
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!