Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
S1-K
1 / 1 / 0
Регистрация: 19.03.2016
Сообщений: 56
1

Как создать генератор паролей с сохранением в блокнот?

06.06.2016, 18:37. Просмотров 753. Ответов 8
Метки c++ (Все метки)

Прошу помочь с созданием генератора паролей,с сохранением пароля в блокнот:
Прошу еще кое о чем,хочу чтобы программа спрашивала:
1)Сколько символов в пароле?
2)Сколько паролей создать?
3)Название файла с паролями?
=======================
Желательно чтобы программа создавала пароли из цифр(от 0 до 9) и латинских букв(заглавных и прописных)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2016, 18:37
Ответы с готовыми решениями:

Генератор паролей (запись в шаблон Word, Excel или Блокнот) + справка
Здравствуйте! Мне нужна ваша помощь! Мне нужно, чтобы пароли которые я...

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

Найти всевозможные комбинации паролей и сохранить их в блокнот
Нужна помощь, дело такое, поставил на пароль архив, пароль забыл. Но, помню ,...

Генератор паролей
1. В таблице 1 найти требования, которым должен удовлетворять генератор...

Генератор паролей на C++
Пока регистрировался на сайте задумался о генераторе паролей и решил написать...

8
nmcf
6277 / 5578 / 2539
Регистрация: 14.04.2014
Сообщений: 23,471
06.06.2016, 21:00 2
Генератор псевдослучайных чисел используй в цикле.
0
Mr.X
Эксперт С++
3180 / 1707 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
07.06.2016, 00:30 3
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
//Прошу помочь с созданием генератора паролей,с сохранением пароля в блокнот:
//Прошу еще кое о чем,хочу чтобы программа спрашивала:
//1)Сколько символов в пароле?
//2)Сколько паролей создать?
//3)Название файла с паролями?
//=======================
//Желательно чтобы программа создавала пароли из цифр(от 0 до 9) и латинских букв
//(заглавных и прописных)
///////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <fstream>
#include <iostream>
#include <string>
#include <random>
#include <utility>
///////////////////////////////////////////////////////////////////////////////
typedef std::string                         T_str;
typedef std::pair   < char,     char    >   T_range_bounds;
///////////////////////////////////////////////////////////////////////////////
class   T_password_generator
{
    //-------------------------------------------------------------------------
    T_str   symbols_;
    //-------------------------------------------------------------------------
public  :
    //-------------------------------------------------------------------------
    T_password_generator( std::initializer_list< T_range_bounds >   ranges_bounds )
    {
        for (
                auto
                bounds_it     =   ranges_bounds.begin  ();
                bounds_it     !=  ranges_bounds.end    ();
                ++bounds_it
            )
        {
            auto    left_bound      =   bounds_it->first;
            auto    right_bound     =   bounds_it->second;
 
            for( auto  symb = left_bound; symb <= right_bound; ++symb )
            {
                symbols_    +=  symb;
            }
        }//for
    }
    //-------------------------------------------------------------------------
    void    generate_and_save_in_file
        (
            int                 password_size,
            int                 passwords_total,
            T_str   const   &   file_name_to_save
        )
    {
        std::ofstream   ofile( file_name_to_save );
 
        for( int  i{}; i < passwords_total; ++i )
        {
            ofile   <<  generate_password( password_size )
                    <<  std::endl;
        }//for
    }
    //-------------------------------------------------------------------------
private :
    //-------------------------------------------------------------------------
    T_str   generate_password( int  password_size )
    {
        static  std::random_device                          rd;
        static  std::mt19937                                gen(   rd()    );
 
        static  std::uniform_int_distribution< size_t >     distr_ind
                                                                (
                                                                    0,
                                                                    symbols_.size() - 1
                                                                );
 
        T_str   rand_password;
 
        std::generate_n
            (
                std::back_inserter( rand_password ),
                password_size,
 
                [=]
                {
                    return  symbols_    [
                                            distr_ind( gen )
                                        ];
                }
            );
 
        return  rand_password;
    }
    //-------------------------------------------------------------------------
};
///////////////////////////////////////////////////////////////////////////////
int     main()
{
    std::ios::sync_with_stdio( false );
 
    T_password_generator    password_generator  {
                                                    { '0',  '9' },
                                                    { 'a',  'z' },
                                                    { 'A',  'Z' }
                                                };
 
    for(;;)
    {
        std::cout   <<  "\n\n";
        int     password_size{};
 
        do
        {
            std::cout   <<  "password size\t\t: ";
            std::cin    >>  password_size;
        }
        while( password_size < 1 );
 
        int     passwords_total{};
        do
        {
            std::cout   <<  "passwords total\t\t: ";
            std::cin    >>  passwords_total;
        }
        while( passwords_total < 1 );
 
        T_str   file_name_to_save;
        std::cout   <<  "file name to save\t: ";
        std::cin    >>  file_name_to_save;
 
        password_generator.generate_and_save_in_file
            (
                password_size,
                passwords_total,
                file_name_to_save
            );
    }//for
}
1
S1-K
1 / 1 / 0
Регистрация: 19.03.2016
Сообщений: 56
09.10.2017, 17:49  [ТС] 4
Есть несколько ошибок:
1)
Ошибка (активно) namespace "std" не содержит члена "back_inserter" ConsoleApplication1
2)
Ошибка C2039 back_inserter: не является членом "std" ConsoleApplication1
3)
Ошибка C3861 back_inserter: идентификатор не найден ConsoleApplication1
0
DobroAlex
Модератор
389 / 333 / 163
Регистрация: 30.04.2016
Сообщений: 1,716
Завершенные тесты: 3
09.10.2017, 17:52 5
S1-K, ide?
0
COKPOWEHEU
1001 / 696 / 159
Регистрация: 09.09.2017
Сообщений: 3,018
09.10.2017, 18:17 6
Код Mr.X компилируется без проблем, даже без warning'ов. И даже, кажется, работает.
Вот только выход из цикла он, кажется, не предусмотрел. Собственно, зачем там for(;;) не совсем понятно.
0
S1-K
1 / 1 / 0
Регистрация: 19.03.2016
Сообщений: 56
09.10.2017, 23:40  [ТС] 7
у меня не работает
0
COKPOWEHEU
1001 / 696 / 159
Регистрация: 09.09.2017
Сообщений: 3,018
09.10.2017, 23:53 8
чем компилируете? Возможно, не поддерживаются какие-то фичи из последнего стандарта.
0
Croessmah
++Ͻ
14630 / 8379 / 1582
Регистрация: 27.09.2012
Сообщений: 20,585
Записей в блоге: 2
Завершенные тесты: 1
10.10.2017, 00:42 9
Цитата Сообщение от S1-K Посмотреть сообщение
Ошибка (активно) namespace "std" не содержит члена "back_inserter" ConsoleApplication1
C++
1
#include <iterator>
0
10.10.2017, 00:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2017, 00:42

Генератор паролей
Кто может чётко написать коментарии для генератора паролей Просто я учусь...

Генератор паролей
Привет юзерам cyberforum'а. Требуется следующее: Написать программу -...

Генератор паролей
Здравствуйте! Мне нужна ваша помощь! Мне нужно, чтобы пароли которые я...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru