Wie generiert man einen zufälligen String aus Buchstaben und Ziffern in C#?
Hallo zusammen! Ich bin ein Anfänger in C# und stehe vor einer Aufgabe: Ich muss zufällige Strings generieren, die aus Buchstaben (lateinisch, beide Groß- und Kleinschreibung) und Ziffern bestehen. Zum Beispiel für die Erstellung temporärer Passwörter oder eindeutiger Identifikatoren.
Ich habe versucht, `Random` und `StringBuilder` zu verwenden, aber das Ergebnis verwirrt mich. Hier ist mein Code:
```csharp
public static string GenerateRandomString(int length)
{
Random random = new Random();
string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
StringBuilder result = new StringBuilder(length);
for (int i = 0; i < length; i++)
{
result.Append(chars[random.Next(chars.Length)]);
}
return result.ToString();
}
```
Es scheint zu funktionieren, aber ich habe einige Probleme bemerkt:
1. Wenn ich die Methode mehrmals hintereinander aufrufe, werden manchmal identische Strings zurückgegeben.
2. Es gibt keine Garantie, dass der String mindestens einen Buchstaben und eine Ziffer enthält (manchmal besteht er nur aus Ziffern).
3. Ich bin mir nicht sicher, wie sicher dies ist.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen