Erzeugen zufälliger alphanumerischer Zeichenketten in C#
-
Generieren Sie zufällige alphanumerische Zeichenketten mit der Klasse
Random
inC#
-
Erzeugen von zufälligen alphanumerischen Zeichenketten mit der LINQ-Methode in
C#
-
Erzeugen von zufälligen alphanumerischen Zeichenketten mit der Klasse
RNGCryptoServiceProvider
inC#
In diesem Lernprogramm werden die Methoden zum Generieren einer zufälligen alphanumerischen Zeichenkette in C# erläutert.
Generieren Sie zufällige alphanumerische Zeichenketten mit der Klasse Random
in C#
Die Klasse Random
generiert Zufallszahlen in C#. Die Methode Random.Next()
generiert einen zufälligen ganzzahligen Wert. Wir können eine konstante Zeichenkettenvariable deklarieren, die alle alphanumerischen Zeichen enthält, und Zeichen aus der Zeichenkettenvariablen basierend auf dem von der Methode Random.Next()
generierten Index auswählen.
Das folgende Codebeispiel zeigt, wie eine zufällige alphanumerische Zeichenkette mit der Klasse Random
in C# generiert wird.
using System;
using System.Linq;
namespace random_alphanumeric_strings {
class Program {
static void Main(string[] args) {
var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var Charsarr = new char[8];
var random = new Random();
for (int i = 0; i < Charsarr.Length; i++) {
Charsarr[i] = characters[random.Next(characters.Length)];
}
var resultString = new String(Charsarr);
Console.WriteLine(resultString);
}
}
}
Ausgabe:
vL8M6BNr
Wir haben mit der Klasse Random
in C# eine zufällige alphanumerische Zeichenkette mit einer Länge von 8 Zeichen generiert. Dann haben wir die Zeichenkette characters
initialisiert, die alle gewünschten alphanumerischen Zeichen enthält. Wir haben das Array von Zeichen Charsarr
mit einer Länge von 8
Zeichen erstellt. Wir haben dann eine Instanz der Klasse Random
random
initialisiert. Wir haben das Array Charsarr
durchlaufen und das Zeichen jedes Mal in einem zufälligen Index aus der Zeichenkette characters
in Charsarr
gespeichert. Wir haben dann das Zeichenarray Charsarr
in die Stringvariable resultString
konvertiert und das Ergebnis angezeigt.
Erzeugen von zufälligen alphanumerischen Zeichenketten mit der LINQ-Methode in C#
Der LINQ führt Abfragefunktionen für Datenstrukturen in C# aus. Wir können den LINQ mit der Klasse Random
verwenden, um die Leistung der vorherigen Methode zu verbessern. Das folgende Codebeispiel zeigt, wie mit der LINQ-Methode in C# eine zufällige alphanumerische Zeichenkette generiert wird.
using System;
using System.Linq;
namespace random_alphanumeric_strings {
class Program {
private static Random random = new Random();
public static string method2(int length) {
const string characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
return new string(
Enumerable.Repeat(characters, length).Select(s => s[random.Next(s.Length)]).ToArray());
}
static void Main(string[] args) {
string finalString = method2(8);
Console.WriteLine(finalString);
}
}
}
Ausgabe:
SXUXK2P8
Wir haben eine zufällige alphanumerische Zeichenkette mit LINQ und der Klasse Random
in C# im obigen Code erstellt. Diese Methode ist effizienter als die oben diskutierte Methode.
Erzeugen von zufälligen alphanumerischen Zeichenketten mit der Klasse RNGCryptoServiceProvider
in C#
Die oben beschriebenen Methoden werden zum Generieren von Passwörtern nicht empfohlen, da sie nicht wirklich zufällig sind und einem linearen Muster folgen. Für sichere Passwörter sollte die Klasse RNGCryptoServiceProvider
verwendet werden. Die Klasse RNGCryptoServiceProvider
generiert kryptografische Zufallszahlen in C#. Die Methode GetBytes()
der Klasse RNGCryptoServiceProvider
füllt ein Byte-Array mit zufälligen Werten. Wir können die Methode GetBytes()
mit der Methode Convert.ToBase64String()
verwenden, um eine Zeichenkette aus dem Array mit gefüllten Bytes abzurufen. Das folgende Codebeispiel zeigt, wie mit der Klasse RNGCryptoServiceProvider
in C# eine sichere zufällige alphanumerische Zeichenkette generiert wird.
using System;
using System.Linq;
using System.Security.Cryptography;
namespace random_alphanumeric_strings {
class Program {
static string method3(int length) {
using (var crypto = new RNGCryptoServiceProvider()) {
var bits = (length * 6);
var byte_size = ((bits + 7) / 8);
var bytesarray = new byte[byte_size];
crypto.GetBytes(bytesarray);
return Convert.ToBase64String(bytesarray);
}
}
static void Main(string[] args) {
string finalString = method3(8);
Console.WriteLine(finalString);
}
}
}
Ausgabe:
JGc42Ug3
Wir haben mit der Klasse RNGCryptoServiceProvider
in C# im obigen Code eine sichere zufällige alphanumerische Zeichenkette mit 8 Zeichen generiert. Diese Methode wird empfohlen, wenn zufällige Kennwörter generiert werden sollen, da sie relativ sicher und unvorhersehbar ist als die beiden vorherigen Methoden.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedInVerwandter Artikel - Csharp String
- C# Int in String konvertieren
- C# String in Enum konvertieren
- Verwendung von Strings in der Switch-Anweisung in C#
- So konvertieren Sie eine Zeichenkette in ein Byte-Array in C#
- Wie konvertiert man eine Zeichenkette in C# in boolesche Zeichenketten
- Wie schreibt man ein mehrzeiliges String-Literal in C#