Увидел в одном блоге, интересный пример генератора паролей. Мне лично такие варианты ещё не попадались. Вот решил его разместить у себя в блоге.
На форму нужно кинуть Label, 2 TextBox'a, 1 Buttom. Размещаем в любом порядке, а дальше код.
На форму нужно кинуть Label, 2 TextBox'a, 1 Buttom. Размещаем в любом порядке, а дальше код.
private void button1_Click(object sender, EventArgs e) { if (Convert.ToInt32(textBox1.Text) < 35) { try { //try говорит о ошибке в определённом куске, чтобы её отловить // Вызов функции или выполнение каких-то иных // действий, которые могут генерировать исключение textBox2.Clear(); byte[] temp = Generator.RollDice(Convert.ToInt32(textBox1.Text)); for (int i = 0; i < temp.Length; i++) { textBox2.Text += (char)temp[i]; } } catch (Exception ex) { //catch - выводит сообщение о ошибке возникшей в try // Сюда управление передается в случае, когда в блоке // try сгенерировано исключение — в самом ли блоке, в // функции, которая в нем вызывается, в функции, // которая вызывается функцией, вызванной в try-блоке // и так далее — словом, где угодно. Объект Exception // описывает ошибку MessageBox.Show(ex.Message); } } else MessageBox.Show("Введите число меньше 35!!!"); } private void Form1_Load(object sender, EventArgs e) { //по умолчанию в текстбоксе будет стоять значение 16 textBox1.Text = "16"; }
Создаётся класс и потом программа будет работать.
class Generator { public static byte[] RollDice(int passLenght) { byte[] randomNumber = new byte[passLenght]; byte[] password = new byte[passLenght]; // Создайте новый экземпляр RNGCryptoServiceProvider RNGCryptoServiceProvider Gen = new RNGCryptoServiceProvider(); // Заполняем массив случайными значениями Gen.GetBytes(randomNumber); for (int i = 0; i < randomNumber.Length; i++) { if ((int)randomNumber[i] > 48 && (int)randomNumber[i] < 57 || (int)randomNumber[i] > 65 && (int)randomNumber[i] < 90 || (int)randomNumber[i] > 97 && (int)randomNumber[i] < 122) { password[i] = randomNumber[i]; } else { Gen.GetBytes(randomNumber); i--; } } return password; } }
Ты просто супер. Я мудохался с кучей сайтов и нигде не мог найти нормального. Спасибо тебе. 10/10.
ОтветитьУдалитьРад был помочь)
Удалить