示例#1
0
        /// <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]);
        }
示例#2
0
 /// <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];
    }
 /// <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);
   }
 }