Avatar ·

¿Cómo generar una cadena aleatoria de letras y números en C#?

¡Hola a todos! Soy un desarrollador principiante de C# y estoy escribiendo una pequeña aplicación para generar contraseñas temporales. Necesito crear cadenas aleatorias que consistan en letras latinas (a-z, A-Z) y dígitos (0-9). La longitud de la cadena debe ser variable, por ejemplo, 8 o 12 caracteres. Intenté usar la clase estándar Random, pero me encontré con un problema: las cadenas no resultan muy aleatorias y, a veces, incluso se repiten cuando se llama al método rápidamente. Aquí está mi código actual: ```csharp public static string GenerateString(int length) { string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; string result = ""; Random random = new Random(); for (int i = 0; i < length; i++) { int index = random.Next(chars.Length); result += chars[index]; } return result; } ``` El método funciona, pero noté que si lo llamo varias veces seguidas, los primeros caracteres a menudo coinciden. También me preocupa que estoy creando una nueva instancia de Rand