/// <summary> /// Obtiene un carácter aleatorio en base a la "matriz" del tipo de caracteres /// </summary> private char GetCaracterAleatorio(TipoCaracterEnum tipoCaracter) { string juegoCaracteres; switch (tipoCaracter) { case TipoCaracterEnum.Mayuscula: juegoCaracteres = caracteres.ToUpper(); break; case TipoCaracterEnum.Minuscula: juegoCaracteres = caracteres.ToLower(); break; case TipoCaracterEnum.Numero: juegoCaracteres = numeros; break; default: juegoCaracteres = simbolos; break; } // índice máximo de la matriz char de caracteres int longitudJuegoCaracteres = juegoCaracteres.Length; // Obtención de un número aletorio para obtener la posición del carácter int numeroAleatorio = semilla.Next(0, longitudJuegoCaracteres); // Se devuelve una posición obtenida aleatoriamente return(juegoCaracteres[numeroAleatorio]); }
/// <summary> /// Reemplaza un caracter especial en la cadena Password /// </summary> private void ReemplazaCaracteresEspeciales( int[] posiciones , int posicionInicial , int posicionFinal , TipoCaracterEnum tipoCaracter) { for (int i = posicionInicial; i < posicionFinal; i++) { password[posiciones[i]] = GetCaracterAleatorio(tipoCaracter); } }
/// <summary> /// Obtiene un carácter aleatorio en base a la "matriz" del tipo de caracteres /// </summary> private char GetCaracterAleatorio(TipoCaracterEnum tipoCaracter) { string juegoCaracteres; switch (tipoCaracter) { case TipoCaracterEnum.Mayuscula: juegoCaracteres = caracteres.ToUpper(); break; case TipoCaracterEnum.Minuscula: juegoCaracteres = caracteres.ToLower(); break; case TipoCaracterEnum.Numero: juegoCaracteres = numeros; break; default: juegoCaracteres = simbolos; break; } // índice máximo de la matriz char de caracteres int longitudJuegoCaracteres = juegoCaracteres.Length; // Obtención de un número aletorio para obtener la posición del carácter int numeroAleatorio = semilla.Next(0, longitudJuegoCaracteres); // Se devuelve una posición obtenida aleatoriamente return juegoCaracteres[numeroAleatorio]; }