Cougar
Участник
- Статус
- offline
- Регистрация
- 07.12.2020
- Сообщения
- 24
- Репутация
- 35
Код и сказ о том как его создать лично мною написаны, поэтому если вы видите недочёты, расскажите мне о них. Мне будет интересно знать, как это можно оптимизировать.
Если ты новичок и хочешь начать программировать, то для начала советую установить Visual Studio Community (17 или 19-о года).
И так, будем мы писать в консольном приложении, но позже объясню как сделать тоже самое в Windows Forms.
Код начинается с библиотек, нам понадобится всего одна "System", объявляем её (по стандарту она и так будет объявлена, но вдруг вы из тех кто удаляет перед началом работы все библиотеки и пишет только те, которые пригодятся при разработке (я так делаю, извините):
Пароль состоит из чего? Буквы (могут быть разного регистра) и цифры. Можно ещё использовать спец. символы, но в нашем примере их не будет.
Мы объявляем массив в котором будут содержаться цифры и все буквы разного регистра. У нас будут только латиница, так как я не приемлю пароли на кириллице.
И объявляем переменную в которой будет присвоено значения пароля:
Сейчас эта переменная пуста, но в дальнейшем мы поочерёдно будем заполнять её случайными символами из массива.
Ну и чтобы выбрать случайный индекс массива нам понадобится объявить сам рандом:
Осталось совсем чуть-чуть, теперь мы будем создавать сам пароль с помощью цикла "for":
И так, что же в цикле произошло? Мы объявили нулевую переменную, установили условие "Если i меньше 30-ти - выполнять" и добавили действие которое будет выполнятся по окончанию 1 круга цикла: "i++" - это значит что к переменной i будет прибавляться единица. Если проще говорить, то 30 - это цифра обозначающие количество символов в вашем пароле.
Внутри цикла берётся наша переменная с паролем (на данный момент пустая" и к ней прибавляется содержимое случайной ячейки массива.
arr - это имя нашего массива.
rnd - имя объявлённого нами рандома.
.Next - действия рандома, которая выбирает случайную цифру.
(0, 57) - указали ограничения между каким промежутком выбирать цифру. Промежуток не должен выходить за рамки массива. У нас 58 ячеек в массиве (если считать как нормальный человек, программа же ведёт счёт с нуля), поэтому мы указали от нуля до пятидесяти семи.
Далее выводим полученное в консольное окно:
И чтобы консоль не закрылась сразу после выполнения поставленной задачи поставим ключ:
Теперь при запуске данной программы нам будет выводится случайно сгенерированный пароль из 30 символов.
Перенести это в Windows Forms не сложно, убираем консольные команды:
Массив выбрасываем после инициализации куда вашей душе угодно, а всё остальное закидываем в любой обработчик, например кнопку.
Вывести полученное можно в label или textBox, да и вообще в любое место где есть текст, даже в название формы.
На этом всё, немного покодили, но если вы часто меняете пароли от своих профилей, то обзавестить своим генератором не помешает)
Я собираюсь сделать кое-что интересное с этим генератором паролей, и как только закончу сразу солью разработку вам ;3
Если ты новичок и хочешь начать программировать, то для начала советую установить Visual Studio Community (17 или 19-о года).
Пока ты используешь Visual Studio Community в не коммерческих целях - он будет для тебя бесплатным.
Код начинается с библиотек, нам понадобится всего одна "System", объявляем её (по стандарту она и так будет объявлена, но вдруг вы из тех кто удаляет перед началом работы все библиотеки и пишет только те, которые пригодятся при разработке (я так делаю, извините):
C#:
using System;
Пароль состоит из чего? Буквы (могут быть разного регистра) и цифры. Можно ещё использовать спец. символы, но в нашем примере их не будет.
Мы объявляем массив в котором будут содержаться цифры и все буквы разного регистра. У нас будут только латиница, так как я не приемлю пароли на кириллице.
C#:
string[] arr = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z", "b", "c", "d", "f", "g", "h", "j", "k", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "z", "A", "E", "U", "Y", "a", "e", "i", "o", "u", "y" };
И объявляем переменную в которой будет присвоено значения пароля:
C#:
string iPass = "";
Сейчас эта переменная пуста, но в дальнейшем мы поочерёдно будем заполнять её случайными символами из массива.
Ну и чтобы выбрать случайный индекс массива нам понадобится объявить сам рандом:
C#:
Random rnd = new Random();
Осталось совсем чуть-чуть, теперь мы будем создавать сам пароль с помощью цикла "for":
C#:
for (int i = 0; i < 30; i ++)
{
iPass = iPass + arr[rnd.Next(0, 57)];
}
И так, что же в цикле произошло? Мы объявили нулевую переменную, установили условие "Если i меньше 30-ти - выполнять" и добавили действие которое будет выполнятся по окончанию 1 круга цикла: "i++" - это значит что к переменной i будет прибавляться единица. Если проще говорить, то 30 - это цифра обозначающие количество символов в вашем пароле.
Внутри цикла берётся наша переменная с паролем (на данный момент пустая" и к ней прибавляется содержимое случайной ячейки массива.
arr - это имя нашего массива.
rnd - имя объявлённого нами рандома.
.Next - действия рандома, которая выбирает случайную цифру.
(0, 57) - указали ограничения между каким промежутком выбирать цифру. Промежуток не должен выходить за рамки массива. У нас 58 ячеек в массиве (если считать как нормальный человек, программа же ведёт счёт с нуля), поэтому мы указали от нуля до пятидесяти семи.
Далее выводим полученное в консольное окно:
C#:
Console.WriteLine(iPass);
И чтобы консоль не закрылась сразу после выполнения поставленной задачи поставим ключ:
C#:
Console.ReadKey();
Теперь при запуске данной программы нам будет выводится случайно сгенерированный пароль из 30 символов.
C#:
using System;
namespace PasswordGeneration
{
class Program
{
static void Main(string[] args)
{
string[] arr = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z", "b", "c", "d", "f", "g", "h", "j", "k", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "z", "A", "E", "U", "Y", "a", "e", "i", "o", "u", "y" };
string iPass = "";
Random rnd = new Random();
for (int i = 0; i < 30; i = i + 1)
{
iPass = iPass + arr[rnd.Next(0, 57)];
}
Console.WriteLine(iPass);
Console.ReadKey();
}
}
}
Перенести это в Windows Forms не сложно, убираем консольные команды:
C#:
Console.WriteLine(iPass);
Console.ReadKey();
Массив выбрасываем после инициализации куда вашей душе угодно, а всё остальное закидываем в любой обработчик, например кнопку.
Вывести полученное можно в label или textBox, да и вообще в любое место где есть текст, даже в название формы.
На этом всё, немного покодили, но если вы часто меняете пароли от своих профилей, то обзавестить своим генератором не помешает)
Я собираюсь сделать кое-что интересное с этим генератором паролей, и как только закончу сразу солью разработку вам ;3