Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16

Программа по генерации паролей

18.06.2020, 16:01. Показов 4572. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, прошу помощи у опытных писарей на си плюсах. Написал программку по генерации паролей а она ни в какую не работает. Подскажите, в чем моя ошибка/ошибки. Код ниже
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
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
            string Password = "";
            string Password1 = "";
            string sim[] = {"1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
            srand((unsigned)time(NULL));
 
            if (radioButton1->Checked== true)
            { 
                for(int i=0; i < 6; i++) {
                Password =  Password + sim[rand() % 61];
                String^ Password = gcnew String(Password);  
                textBox1->Text= Password;
                }
            }
            if (radioButton2->Checked == true)
            { 
                for(int i=0; i < 10; i++) {
                Password = Password + sim[rand() % 61];
                String^ Password = gcnew String(Password);
                textBox1->Text= Password;
                }
            
            }
            if (radioButton3->Checked == true)
            { 
                for(int i=0; i < 10; i++) {
                Password = Password + sim[rand() % 61];
                String^ Password = gcnew String(Password);
                textBox1->Text= Password;
                }
            }
         }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2020, 16:01
Ответы с готовыми решениями:

Программа для генерации паролей из 8 символов, где 6 букв, а 2 последние цифры
В общем задали сделать такую программу, но как? Программа для генерации паролей из 8 символов, где 6 первых латинские буквы(строчные), а 2...

Советы! И програмка для генерации паролей!
Привет всем! Хочу попросить Вас поссоветовать мне с чего начать, с какой литературы по языку Си! Весь семестр нефига не делал в инсте...

Программа генерации сочетаний
Добрый день, есть задание написать программу генерации сочетаний, алгоритм дан в учебнике, после попытки его реализовать получил...

33
 Аватар для Recrut_rf
392 / 337 / 66
Регистрация: 14.10.2014
Сообщений: 1,538
18.06.2020, 23:20
Студворк — интернет-сервис помощи студентам
diebitsh, так делать нельзя
Попробуй так:
C++
1
textBox1->Text= gcnew String((Char*) Password);
тебе нужно Password перевести в тип, который поддерживает конструктор String().
Значит нужно либо кастовать (преобразовывать) Password к нужному типу, либо создавать Password сразу с нужным типом
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
18.06.2020, 23:38  [ТС]
Recrut_rf, блин спасибо большое сделал password и массив sim типом char , но теперь выдает одну единственную ошибку: error C2078: слишком много инициализаторов, в строчке с массивом
C++
1
char sim[62] = {"1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
. Это вообще реально исправить?
0
 Аватар для Recrut_rf
392 / 337 / 66
Регистрация: 14.10.2014
Сообщений: 1,538
18.06.2020, 23:49
diebitsh, конечно реально, посчитай, сколько у тебя в массиве sim символов и не забудь последним добавить '\0', кстати у тебя его нет, а он обязан быть (при такой инициализации ). Всего их не должно быть больше 62 так как у тебя массив char sim[62] на 62 элемента. Если больше, значит меняй 62 на большее значение. И массив нужно инициализировать символами а не массивами (если что "1" эта строка содержит два символа 1 и нуль терминатор - по-сути это строка, а вот это '1' символ 1 )
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
18.06.2020, 23:50  [ТС]
Recrut_rf, от души за все, ошибок нет, прога запускается, но выдает ошибки. буду разбираться
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
19.06.2020, 00:30
Цитата Сообщение от diebitsh Посмотреть сообщение
ошибок нет, прога запускается, но выдает ошибки.
Вы бы определились.
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
19.06.2020, 11:01  [ТС]
S_el, ну при компиляции ошибок нет, а во сам прога выдает ошибки
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
19.06.2020, 15:32
diebitsh, прикрепите проект - посмотрю.
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
19.06.2020, 15:38  [ТС]
S_el,
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
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
            char Password  ;
            char Passworda ;
            const char sim[] = { '1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' ,'G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U' ,'V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j' ,'k','l','m','n','o','p','q','r','s','t','u','v','w','x','y' ,'z' };
            srand((unsigned)time(NULL));
 
            if (radioButton1->Checked== true)
            { 
                for(int i=0; i < 6; i++) {
                Password =  Password + sim[rand() % 61];
                
                }
                textBox1->Text= gcnew String((Char*) Password);
                
            }
            if (radioButton2->Checked == true)
            { 
                for(int i=0; i < 8; i++) {
                Password = Password + sim[rand() % 61];
                
                }
                textBox1->Text= gcnew String((Char*) Password);
            }
            if (radioButton3->Checked == true)
            { 
                for(int i=0; i < 10; i++) {
                Password = Password + sim[rand() % 61];
                
                }
                textBox1->Text= gcnew String((Char*) Password);
 
 
            }
вот код. при компиляции ошибки отсутствуют. ниже ошибки в самой программе
Миниатюры
Программа по генерации паролей   Программа по генерации паролей  
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
19.06.2020, 16:08
diebitsh,
char это 1 символ добавляя к нему другой char вы не можете получить несколько символов.

Используйте строковый тип данных.
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
20.06.2020, 14:47  [ТС]
S_el, не помогает....
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
20.06.2020, 19:58
diebitsh, код показывайте
0
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
20.06.2020, 22:32  [ТС]
S_el,
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
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
            string Password  ;
            char Passworda ;
            string sim[] = {"1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
            srand((unsigned)time(NULL));
 
            if (radioButton1->Checked== true)
            { 
                for(int i=0; i < 6; i++) {
                Password =  Password + sim[rand() % 61];
                
                }
                String^ s = gcnew String(Password);
                textBox1->Text= s;
                
            }
            if (radioButton2->Checked == true)
            { 
                for(int i=0; i < 8; i++) {
                Password = Password + sim[rand() % 61];
                
                }
                String^ s = gcnew String(Password);
                textBox1->Text= s;
            }
            if (radioButton3->Checked == true)
            { 
                for(int i=0; i < 10; i++) {
                Password = Password + sim[rand() % 61];
                
                }
                String^ s = gcnew String(Password);
                textBox1->Text= s;
вот код. вот возникшие ошибочки 1>.\Form1.cpp(205) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
1>.\Form1.cpp(215) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
1>.\Form1.cpp(224) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
1>VyacheslavGenPass.cpp
1>c:\users\вячеслав\documents\visual studio 2008\projects\vyacheslavgenpass\vyachesl avgenpass\Form1.cpp(205) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
1>c:\users\вячеслав\documents\visual studio 2008\projects\vyacheslavgenpass\vyachesl avgenpass\Form1.cpp(215) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
1>c:\users\вячеслав\documents\visual studio 2008\projects\vyacheslavgenpass\vyachesl avgenpass\Form1.cpp(224) : error C2664: System::String::String(const wchar_t *): невозможно преобразовать параметр 1 из 'std::string' в 'const wchar_t *'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
21.06.2020, 00:46
Лучший ответ Сообщение было отмечено diebitsh как решение

Решение

diebitsh, это никуда не годится.

C++
1
2
3
4
5
6
7
8
9
10
        const array<Char>  ^sim = gcnew array<Char>{ '1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' ,'G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U' ,'V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j' ,'k','l','m','n','o','p','q','r','s','t','u','v','w','x','y' ,'z' };
        srand((unsigned)time(NULL));
        const int N = 6;
        System::Text::StringBuilder^ sb = gcnew System::Text::StringBuilder(N); //для эффективности
 
        for (int i = 0; i < N; i++)
        {
            sb->Append(sim[rand() % 61]);
        }
        textBox1->Text = sb->ToString();
раз массив константный,то лучше вынести его создание из обработчика, псевдослучайные числа тоже можно .net-овские использовать.
1
0 / 0 / 0
Регистрация: 18.06.2020
Сообщений: 16
21.06.2020, 11:08  [ТС]
S_el, слушай огромное тебе спасибо!!!!!!! я уже думал ничего не получится. От души просто!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.06.2020, 11:08

Программа для контроля и перехвата паролей
Нужно мне сделать такую программу,и еще опции долдны быть такие: 1)Невидимость программы нигде кроме процессов в ДЗ(примерно знаю как...

Программа генерации последовательностей нулей и единиц
помогите пожалуйста написать программу генерации m-последовательностей 0 и 1, удовлетворяющих обоим требованиям: 1) никакие 3 единицы не...

Программа математической генерации трехмерного волнения
Работу необходимо разделить на 4 этапа, каждый из которых будет включать в себя разработку части общей программы для математического...

Создать генератор паролей в котором можно указать длину пароля и количество паролей
Помогите пожалуйста! Задание: Нужно создать генератор паролей в котором можно указать длину пароля и количество паролей то есть длина...

Нужна программа генерации паролей
Здравствуйте! Помогите - нужна прога, генерирующая пароли, ещё нужны проги запароливающие Word-овский документ и перебирающая пароли до...


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru