C# में अक्षरों और अंकों से यादृच्छिक स्ट्रिंग कैसे उत्पन्न करें?
सभी को नमस्कार! मैं एक शुरुआती C# डेवलपर हूँ और मुझे एक कार्य का सामना करना पड़ा: मुझे अक्षरों (लैटिन, दोनों रजिस्टर) और अंकों से युक्त यादृच्छिक स्ट्रिंग्स उत्पन्न करने की आवश्यकता है। उदाहरण के लिए, अस्थायी पासवर्ड या अद्वितीय पहचानकर्ता बनाने के लिए।
मैंने `Random` और `StringBuilder` का उपयोग करने का प्रयास किया, लेकिन परिणाम मुझे संदेह में डालता है। यहाँ मेरा कोड है:
```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();
}
```
यह काम करता प्रतीत होता है, लेकिन मैंने कई समस्याएं देखीं:
1. यदि मैं विधि को लगातार कई बार कॉल करता हूँ, तो कभी-कभी समान स्ट्रिंग्स वापस आती हैं।
2. इसकी कोई गारंटी नहीं है कि स्ट्रिंग में कम से कम एक अक्षर और एक अंक होगा (कभी-कभी केवल अंकों से बनी स्ट्रिंग मिलती है)।
3. मुझे यकीन नहीं है कि यह कितना क्रिप्टो-सुरक्षित है —