Генератор пароля

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
52
Баллы
28
Подскажите код генератора пароля на C# Цифры, Прописные буквы , Строчные буквы
Код:
Random num = new Random();
project.Variables["Переменная"].Value = num.Next(10,20).ToString();
 
  • Спасибо
Реакции: vfrcbv

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 132
Баллы
113
C#:
Random rnd = new Random();
int count = rnd.Next(10, 21);
string str = string.Empty;
int r;
char[] chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".ToCharArray();
for (int i = 0; i < count; i++) {
    r = rnd.Next(chars.Length);
    str += chars[r];
}
return str;
Зенновским Методом RandomText Method
C#:
Random rnd = new Random();
int r = rnd.Next(10, 21);
string str = Macros.TextProcessing.RandomText(r, "dc", "");
return str;
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
52
Баллы
28
Благодарю.
 
  • Спасибо
Реакции: WalkODoff и vfrcbv

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
52
Баллы
28
как сделать чтобы пароли сохранялись в список или в файл при помощи C#
 
  • Спасибо
Реакции: WalkODoff и vfrcbv

Mahno

Client
Регистрация
16.05.2015
Сообщения
440
Благодарностей
93
Баллы
28
как сделать чтобы пароли сохранялись в список или в файл при помощи C#
Снимаем галку "не возвращать значение" или как-то так она называет, сохраняем в переменную и оттуда уже в список или файл
 
  • Спасибо
Реакции: ks1989

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 132
Баллы
113
как сделать чтобы пароли сохранялись в список или в файл при помощи C#
C#:
Random rnd = new Random();
int count = rnd.Next(10, 21);
string str = string.Empty;
int r;
char[] chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".ToCharArray();
for (int i = 0; i < count; i++) {
    r = rnd.Next(chars.Length);
    str += chars[r];
}
lock (SyncObjects.ListSyncer) project.Lists["Pass"].Add(str); // добавить строку в список Pass
File.AppendAllText(project.Directory + @"\Pass.txt", str + Environment.NewLine); // добавить строку в файл Pass.txt (если файл не существует, то он создасться)
return str;
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
52
Баллы
28
C#:
Random rnd = new Random();
int count = rnd.Next(10, 21);
string str = string.Empty;
int r;
char[] chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".ToCharArray();
for (int i = 0; i < count; i++) {
    r = rnd.Next(chars.Length);
    str += chars[r];
}
lock (SyncObjects.ListSyncer) project.Lists["Pass"].Add(str); // добавить строку в список Pass
File.AppendAllText(project.Directory + @"\Pass.txt", str + Environment.NewLine); // добавить строку в файл Pass.txt (если файл не существует, то он создасться)
return str;
Благодарю!!
 
  • Спасибо
Реакции: vfrcbv

dreamlant

Client
Регистрация
05.01.2015
Сообщения
117
Благодарностей
20
Баллы
18
Простой генератор пароля с неповторяющимися подряд символами.

Подходит для генерации пароля принимаемого большинством сайтов

от 10 символов:

-маленькие буквы
-1 цифра
-1 спец символ

сохранением в файл
 

Вложения

  • Спасибо
Реакции: MaxMan

dreamlant

Client
Регистрация
05.01.2015
Сообщения
117
Благодарностей
20
Баллы
18
т.к в Зеннопостере мною обнаружен баг при генерации пароля, то выкладываю новую версию проекта
с генерацией паролей вида:
C#:
Wgraphensahos0=
Xclimfoodsmylic7@
Clvilovotjeo0=
Achiptisigzo4/
пароли будут записаны в файл passGen.txt рядом с проектом.
 

Вложения

Agent

Client
Регистрация
25.12.2018
Сообщения
176
Благодарностей
52
Баллы
28
C#:
Random rnd = new Random();
int count = rnd.Next(10, 21);
string str = string.Empty;
int r;
char[] chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".ToCharArray();
for (int i = 0; i < count; i++) {
    r = rnd.Next(chars.Length);
    str += chars[r];
}
return str;
Зенновским Методом RandomText Method
C#:
Random rnd = new Random();
int r = rnd.Next(10, 21);
string str = Macros.TextProcessing.RandomText(r, "dc", "");
return str;
Подскажите код, чтобы обязательно бралась хотя бы раз заглавная буква, строчная, цифра и спецсимвол. Приведенным выше кодом берутся рандомно, но может получаться, что цифр, например, нет.
 
Последнее редактирование:

Ostap1992

Client
Регистрация
26.02.2020
Сообщения
66
Благодарностей
10
Баллы
8
так же интересует специальные условия генерации
буду благодарен
нужно чтобы я мог указать от скольки до скольки раз в нем повторялись цифры и верхний регистр
 

kagorec

Client
Регистрация
24.08.2013
Сообщения
1 038
Благодарностей
560
Баллы
113
Генерация пароля по современным стандартам когда тебуют маленькую и большую букву и символ и цифру

Пример:

2&g@8kYE#3
*%2RgT7r6$
9fG84*!K@y

C#:
// Создаем объект для генерации случайных чисел
Random random = new Random();

// Генерация symbol
string symbols = new string(Enumerable.Range(0, 3).Select(i => "!%&@#$*"[random.Next("!%&@#$*".Length)]).ToArray());

// Генерация word small
var words = new string(Enumerable.Range(0, 2).Select(i => "abcdefghkmnoprstuvxyz"[random.Next("abcdefghkmnoprstuvxyz".Length)]).ToArray());

// Генерация word big
var wordb = new string(Enumerable.Range(0, 2).Select(i => "ABCDEFGHKLMNOPRSTUVXYZ"[random.Next("ABCDEFGHKLMNOPRSTUVXYZ".Length)]).ToArray());

// Генерация num
var num = random.Next(100, 999).ToString();

// Соединение и перемешивание
var password = string.Concat(words, wordb, symbols, num).OrderBy(x => random.Next()).ToArray();

return new string(password);
п.с. количество каждых символов настраивается отдельно, пример Range(0, 3)
 
  • Спасибо
Реакции: Agent

Ostap1992

Client
Регистрация
26.02.2020
Сообщения
66
Благодарностей
10
Баллы
8
Генерация пароля по современным стандартам когда тебуют маленькую и большую букву и символ и цифру

Пример:

2&g@8kYE#3
*%2RgT7r6$
9fG84*!K@y

C#:
// Создаем объект для генерации случайных чисел
Random random = new Random();

// Генерация symbol
string symbols = new string(Enumerable.Range(0, 3).Select(i => "!%&@#$*"[random.Next("!%&@#$*".Length)]).ToArray());

// Генерация word small
var words = new string(Enumerable.Range(0, 2).Select(i => "abcdefghkmnoprstuvxyz"[random.Next("abcdefghkmnoprstuvxyz".Length)]).ToArray());

// Генерация word big
var wordb = new string(Enumerable.Range(0, 2).Select(i => "ABCDEFGHKLMNOPRSTUVXYZ"[random.Next("ABCDEFGHKLMNOPRSTUVXYZ".Length)]).ToArray());

// Генерация num
var num = random.Next(100, 999).ToString();

// Соединение и перемешивание
var password = string.Concat(words, wordb, symbols, num).OrderBy(x => random.Next()).ToArray();

return new string(password);
п.с. количество каждых символов настраивается отдельно, пример Range(0, 3)
то что надо но есть еще 1 момент мне надо не 1 пароль а сразу много еще бы эту функцию и вообще было бы круто
 

Ostap1992

Client
Регистрация
26.02.2020
Сообщения
66
Благодарностей
10
Баллы
8
C#:
int size = 5; // длина пароля

string alphabet = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789";

int howMany = 5000000; // количество сгенерированных паролей



List<string> list = new List<string>();

for(int i = 0; i < howMany; i++)

    list.Add(TextProcessing.RandomText(size, "s", alphabet));



list = list.Distinct().ToList(); // удалить дубли

project.SendInfoToLog($"Удалено дублей: {howMany - list.Count}\nВсего: {list.Count}", false);

project.Lists["Варианты"].AddRange(list); // имя списка в PM "Варианты"
Генерация пароля по современным стандартам когда тебуют маленькую и большую букву и символ и цифру

Пример:

2&g@8kYE#3
*%2RgT7r6$
9fG84*!K@y

C#:
// Создаем объект для генерации случайных чисел
Random random = new Random();

// Генерация symbol
string symbols = new string(Enumerable.Range(0, 3).Select(i => "!%&@#$*"[random.Next("!%&@#$*".Length)]).ToArray());

// Генерация word small
var words = new string(Enumerable.Range(0, 2).Select(i => "abcdefghkmnoprstuvxyz"[random.Next("abcdefghkmnoprstuvxyz".Length)]).ToArray());

// Генерация word big
var wordb = new string(Enumerable.Range(0, 2).Select(i => "ABCDEFGHKLMNOPRSTUVXYZ"[random.Next("ABCDEFGHKLMNOPRSTUVXYZ".Length)]).ToArray());

// Генерация num
var num = random.Next(100, 999).ToString();

// Соединение и перемешивание
var password = string.Concat(words, wordb, symbols, num).OrderBy(x => random.Next()).ToArray();

return new string(password);
п.с. количество каждых символов настраивается отдельно, пример Range(0, 3)
вот в этом варианте я могу указывать длину но не могу указывать сколько раз использовать цифры


а вот если соединить эти 2 кода в 1 рабочий то было круто
 

kagorec

Client
Регистрация
24.08.2013
Сообщения
1 038
Благодарностей
560
Баллы
113
Сколько раз указывается диапазоном, пример:
C#:
// Генерация num - 3 цифры
var num = random.Next(100, 999).ToString();

// Генерация num на 5 цифр
var num = random.Next(10000, 99999).ToString();

// Генерация num на 1-10 цифр
var num = random.Next(1, 9999999999).ToString();
 

Ostap1992

Client
Регистрация
26.02.2020
Сообщения
66
Благодарностей
10
Баллы
8
Сколько раз указывается диапазоном, пример:
C#:
// Генерация num - 3 цифры
var num = random.Next(100, 999).ToString();

// Генерация num на 5 цифр
var num = random.Next(10000, 99999).ToString();

// Генерация num на 1-10 цифр
var num = random.Next(1, 9999999999).ToString();
это я понял братка . но я в с# прям вообще сиди я сам открою
и мне надо сгенерить допустим 1лям пасов указав исходные данные как у тебя в коде
 

Ostap1992

Client
Регистрация
26.02.2020
Сообщения
66
Благодарностей
10
Баллы
8
Сколько раз указывается диапазоном, пример:
C#:
// Генерация num - 3 цифры
var num = random.Next(100, 999).ToString();

// Генерация num на 5 цифр
var num = random.Next(10000, 99999).ToString();

// Генерация num на 1-10 цифр
var num = random.Next(1, 9999999999).ToString();
C#:
int size = 5; // длина пароля

string alphabet = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789";

int howMany = 5000000; // количество сгенерированных паролей



List<string> list = new List<string>();

for(int i = 0; i < howMany; i++)

    list.Add(TextProcessing.RandomText(size, "s", alphabet));



list = list.Distinct().ToList(); // удалить дубли

project.SendInfoToLog($"Удалено дублей: {howMany - list.Count}\nВсего: {list.Count}", false);

project.Lists["Варианты"].AddRange(list); // имя списка в PM "Варианты"
вот в этот код можешь интегрировать свой для указания сколько раз использовать те или иные комбинации
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)