Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/32: Рейтинг темы: голосов - 32, средняя оценка - 4.97
 Аватар для san-trane
6 / 6 / 2
Регистрация: 16.03.2011
Сообщений: 203

Генератор паролей, с выбором длины

18.07.2011, 19:28. Показов 6669. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!) Решил написать генератор паролей, с выбором длины пароля, но ума хватило только на генерацию 10 чисел(( помогите дописать, пожалуйста
на форме 3 RadioButton, при нажатии на которые в textBox должен выводиться пароль соответствующей длины, хотелось бы чтобы в пароле еще был английски алфавит
заранее спасибо
Вложения
Тип файла: rar Генератор паролей.rar (39.4 Кб, 100 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.07.2011, 19:28
Ответы с готовыми решениями:

Генератор паролей
Вобщем вот код такой простенький. Как сделать чтобы при каждом нажатии на кнопку он выдовал пароли рандомно. private void...

Генератор a-z паролей
Есть у кого примерчик такого генератора? Длина пароля 6 симв.

Генератор паролей
Программа должна выполнять следующие действия: a. Ввод идентификатора пользователя с клавиатуры. Данный идентификатор представляет собой...

19
 Аватар для RiG1
28 / 28 / 4
Регистрация: 12.03.2011
Сообщений: 474
18.07.2011, 19:47
Генератор паролей.rar вот. Английские символы не делал
1
444 / 348 / 32
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
18.07.2011, 20:21
от a до z. Count - длина

C#
1
2
3
4
public string GetPassword(int Count, Random r, string temp = "")
{
   for (int i = 0; i < Count; i++) temp += (char)r.Next(65, 91); return temp;
}
использование:

Random r = new Random();
GetPassword(100,r);


как видишь всё в одну строчку (правда должен стоять целевым net 4.0
т.к. тут парам по умолч. но можно в методе инициализировать строку)
1
 Аватар для umnick_kh
311 / 249 / 44
Регистрация: 06.12.2010
Сообщений: 527
18.07.2011, 20:25
Вот, набросал на коленке:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
static Random r = new Random();
        static char Digits()
        {
            char dig;
            return dig = (char)r.Next(48,57);
        }
        static char Eng_Chars()
        {
             char eng;
             return eng = (char)r.Next(97, 122);
        }
        static void Main(string[] args)
        {
            Console.Write("Введите длину пароля: ");
            int w = int.Parse(Console.ReadLine());
            string res = "";
            for (int i = 0; i < w; i++)
            {
                if (r.Next(0, 2) == 0)
                {
                    if (r.Next(0, 6) % 2 == 0)
                    {
                        res += char.ToUpper(Eng_Chars());
                    }
                    else
                    {
                        res += Eng_Chars();
                    }
                }
                else
                {
                    res += Digits();
                }
            }
            Console.WriteLine("Ваш пароль: " + res);
            Console.ReadKey();
        }
1
 Аватар для san-trane
6 / 6 / 2
Регистрация: 16.03.2011
Сообщений: 203
18.07.2011, 22:26  [ТС]
Всем огромное спасибо)) но я не очень понял как мне англ символы сделать??))
Random rnd = new Random();
C#
1
2
3
4
5
            
            Char[] pwdChars = new Char[10] { '1', '2', '3', '4','5','6','7','8','9','0' };
            textBox1.Text = String.Empty;
            for (int i = 0; i < length; i++)
                textBox1.Text += pwdChars[rnd.Next(0, 10)];
как мне в этом коде сделать, чтобы и англ символы сгенерировались?
0
 Аватар для RiG1
28 / 28 / 4
Регистрация: 12.03.2011
Сообщений: 474
18.07.2011, 22:46
Замени
Цитата Сообщение от san-trane Посмотреть сообщение
pwdChars[rnd.Next(0, 10)];
на

Цитата Сообщение от za5 Посмотреть сообщение
(char)r.Next(65, 91);
0
 Аватар для san-trane
6 / 6 / 2
Регистрация: 16.03.2011
Сообщений: 203
18.07.2011, 23:55  [ТС]
Элемент "r" не существует в текущем контексте. я так понимаю это нужно задать переменную, но не понимаю где((
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
19.07.2011, 00:01
Из вашего кода не r, а
C#
1
rnd.Next
0
 Аватар для umnick_kh
311 / 249 / 44
Регистрация: 06.12.2010
Сообщений: 527
19.07.2011, 00:01
C#
1
2
Random rnd = new Random();
(char)rnd.Next(65, 91);
0
 Аватар для san-trane
6 / 6 / 2
Регистрация: 16.03.2011
Сообщений: 203
19.07.2011, 00:27  [ТС]
все спасибо разобрался))
C#
1
2
3
4
5
6
7
8
9
10
11
Random rnd = new Random();
            
            Char[] pwdChars = new Char[10] { '1', '2', '3', '4','5','6','7','8','9','0' };
            textBox1.Text = String.Empty;
            for (int i = 0; i < length; i++)
                textBox1.Text += (char)rnd.Next(97, 123);
                textBox1.Text += (char)rnd.Next(65, 91);
                textBox1.Text += (char)rnd.Next(33, 48);
            textBox1.Text += (char)rnd.Next(48, 58);
           
            textBox1.Text += (char)rnd.Next(58, 65);
сделал вот так, только по-моему не очень красиво получилось, но работает))
0
 Аватар для RiG1
28 / 28 / 4
Регистрация: 12.03.2011
Сообщений: 474
19.07.2011, 00:49
массив char можешь убрать
1
4 / 4 / 3
Регистрация: 28.04.2011
Сообщений: 43
20.07.2011, 15:50
когда-то так делал:
RndType, если 0, то генерятся числа и буквы, если 1 только числа
count - длина рандома

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class UserNames
        {
            Random random = new Random();
            int val;
            string RValue;
            public string RandomNames(int RndType, int count)
            {
                if (RndType == 0)
                {
                    RValue = "";
                    for (int i = 0; i <= count; i++)
                    {                        
                        val = random.Next(1, 36);
                        RValue += Convert.ToChar(System.Convert.ToInt32(val <= 26 ? 64 + val : ((val - 27) + 48)));
                    }
                    return RValue;
                }
                else if (RndType == 1)
                {
                    RValue = "";
                    for (int i = 0; i <= count; i++)
                    {
                        Thread.Sleep(50);
                        RValue += random.Next(1, 9);
                    }
                    return RValue;
                }
                else
                {
                  return "Error!";
                }
            }
        }
Вызываются соответственно так:
C#
1
2
EditPassword.Text = UserNames.RandomNames(0, 9);
EditPassword.Text = UserNames.RandomNames(1, 4);
Результат:
85IRNX3E1C
52493
1
 Аватар для san-trane
6 / 6 / 2
Регистрация: 16.03.2011
Сообщений: 203
20.07.2011, 21:39  [ТС]
спасибо))
0
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
21.07.2011, 20:06
Шикарнейший генератор паролей реализован в KeePass2 - код очень чистый, надёжный и хороший. Душа радуется!
0
 Аватар для san-trane
6 / 6 / 2
Регистрация: 16.03.2011
Сообщений: 203
21.07.2011, 23:33  [ТС]
Цитата Сообщение от Killster Посмотреть сообщение
Шикарнейший генератор паролей реализован в KeePass2 - код очень чистый, надёжный и хороший. Душа радуется!
что это такое?? можно код увидеть?
0
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
21.07.2011, 23:42
Цитата Сообщение от san-trane Посмотреть сообщение
что это такое?? можно код увидеть?
Википедия.
Оффсайт.
Исходник.
1
 Аватар для san-trane
6 / 6 / 2
Регистрация: 16.03.2011
Сообщений: 203
03.08.2011, 13:18  [ТС]
Всем привет, помогите подправить код. В начале выдает слишком много цифр, и длина пароля не соответствует выбранной. Заранее спасибо!)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Генератор_паролей
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            radioButton1.Checked = true;
        }
 
        int length;
 
        private void button1_Click(object sender, EventArgs e)
        {
            Random rnd = new Random();
            textBox1.Text = String.Empty;
            for (int i = 0; i < length; i++)
                textBox1.Text += (char)rnd.Next(48, 58);
            textBox1.Text += (char)rnd.Next(65, 91);
            textBox1.Text += (char)rnd.Next(97, 123);
 
        }
 
        private void _6(object sender, EventArgs e)
        {
            length = 6;
        }
 
        private void _9(object sender, EventArgs e)
        {
            length = 9;
        }
 
        private void _12(object sender, EventArgs e)
        {
            length = 12;
        }
    }
}
0
 Аватар для umnick_kh
311 / 249 / 44
Регистрация: 06.12.2010
Сообщений: 527
03.08.2011, 13:21
san-trane, длина не правильная из-за того, что Вы генерируете сразу 3 символа:
C#
1
2
3
4
5
6
            for (int i = 0; i < length; i++)
            {
            textBox1.Text += (char)rnd.Next(48, 58);
            textBox1.Text += (char)rnd.Next(65, 91);
            textBox1.Text += (char)rnd.Next(97, 123);
            }
0
 Аватар для san-trane
6 / 6 / 2
Регистрация: 16.03.2011
Сообщений: 203
03.08.2011, 13:33  [ТС]
так тут разные типы символов, мне это и надо. как мне сделать чтобы он генерировал все вперемешку, но чтобы длина была выбранной. а то у меня вместо 6-ти символов 9, вместо 9-ти 11.
0
 Аватар для umnick_kh
311 / 249 / 44
Регистрация: 06.12.2010
Сообщений: 527
03.08.2011, 14:20
Цитата Сообщение от san-trane Посмотреть сообщение
так тут разные типы символов, мне это и надо. как мне сделать чтобы он генерировал все вперемешку, но чтобы длина была выбранной. а то у меня вместо 6-ти символов 9, вместо 9-ти 11.
Вам уже дали миллион с горочкой подобных решений, а Вам даже лень их разобрать. Посмотрите как это сделано в том коде, что я дал, например.

Добавлено через 30 минут
san-trane, это помому что надо так:
C#
1
2
3
4
5
6
            for (int i = 1; i < length; i++)
            {
            textBox1.Text += (char)rnd.Next(48, 58);
            textBox1.Text += (char)rnd.Next(65, 91);
            textBox1.Text += (char)rnd.Next(97, 123);
            }
У Вас происходила лишняя итерация
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.08.2011, 14:20
Помогаю со студенческими работами здесь

Генератор паролей
Нужно написать программу-генератор паролей. Программа должна выполнять следующие действия: a) Ввод идентификатора пользователя с...

Генератор паролей
Здравствуйте. Нужен был генератор паролей, но в интернете не нашел ничего подходящего. Немного знаком с C#, но мне нужна помощь. Создал...

Генератор паролей
Добрый день! Прошу помогите с кодом, точнее как написать... Я новичок, начал изучать C#. Генератор паролей В долгу не останусь. Заранее...

Генератор паролей
Я ща фигню спрошу но все же. Есть генератор паролей, код ниже. Что то я не совсем так сделал, потому что часто встречаются символы которых...

(Генератор паролей)Рандомные числа
Всем привет-это снова я и у меня появился новый вопрос.:cry: Когда я ввожу рандомное число в переменную, при каждом повторении цикла она...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru