Программа, генерирующая случайные пароли с символами в разных регистрах, числами и знаками препинания на C#. Писалась в MonoDevelop.
Скачать можно тут.
В качестве входных параметров программе необходимо указать желаемую длину пароля и нужное количество паролей.
В Windows:
passgen.exe длина количество
В Linux:
mono passgen.exe длина количество
Как оно работает?
Сначала создается массив символов, которые можно использовать в тексте паролей. Его формирование основывается на ASCII-кодах символов.
Для добавления в массив символов нижнего регистра используется следующая конструкция:
for (int i = 97; i < 123; i++)
{
chars.Add(Convert.ToChar(i).ToString());
}
Коды 97 — 123 как-раз соответствуют латинским символам нижнего регистра.
Коды латинских символов верхнего регистра — от 65 до 91:
for (int i = 65; i < 91; i++)
{
chars.Add(Convert.ToChar(i).ToString());
}
ASCII-коды цифр находятся в диапазоне от 48 до 58:
for (int i = 48; i < 58; i++)
{
chars.Add(Convert.ToChar(i).ToString());
}
Коды знаков препинания: 33-48 и 58-65
for (int i = 33; i < 48; i++)
{
chars.Add(Convert.ToChar(i).ToString());
}
for (int i = 58; i < 65; i++)
{
chars.Add(Convert.ToChar(i).ToString());
}
Все, массив сформирован. Теперь нужно просто случайным образом извлечь из него нужное количество символов.
За это отвечает конструкция
Random rnd = new Random();
pass += chars[rnd.Next(chars.Count - 1)].ToString();
Random () — класс, предоставляющий доступ к генератору слуайных чисел.
Чтобы получить сучайное число, нужно вызвать его метод Next (), в качестве параметра которому следует передать максимально возможное значение возвращаемого числа.
На выходных (если не забуду
) выложу исходники по лицензии GPL.
ЗЫ: А Вы защитили свой блог от матов?
Дайте ссылку плз, на исходник
Дайте пожалуйста исходник
Какой? Всё выше написано.