С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
1

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

29.03.2014, 10:06. Просмотров 2105. Ответов 26
Метки нет (Все метки)

нужно сгенерировать пароль хотя что бы большие латинские буквы,
Коды английских символов - «A»=65,…,«Z»=90, «a»=97,…, «z» =122.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
main()
{
int x;
char a[20],i;
printf("vvesti dlinu parolya \n");
scanf("%d",&x);
printf("\n");
for(i=0;i<x+1;i++)
 {
  a[i]=rand()%(25+65);
 }
for(i=0;i<x;i++)
{
printf("%3c",a[i]);
}
getchar();
getchar();
}
вот что выдеат...
0
Миниатюры
Генератор паролей  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2014, 10:06
Ответы с готовыми решениями:

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

генератор паролей
кто нибудь может показать программку генератор паролей?

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

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

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

26
Петррр
6163 / 3464 / 897
Регистрация: 28.10.2010
Сообщений: 5,928
29.03.2014, 10:21 2
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
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <string>
 
std::string genpass(size_t size)
{
    std::string pass;
    pass.reserve(size);
    for (size_t i = 0; i < size; i++)
    {
        char mode = std::rand() % 3;
        char ch = 0;
        switch (mode)
        {
            case 0:
                ch = rand() % 26 + 'a';
                break;
                
            case 1:
                ch = rand() % 26 + 'A';
                break;
                
            case 2:
                ch = rand() % 10 + '0';
                break;
        }
        pass.push_back(ch);
    }
    return pass;
}
 
int main()
{
    std::srand(std::time(0));
    std::cout << genpass(12U) << std::endl;
    return 0;
}
0
ValeryS
Модератор
7376 / 5576 / 708
Регистрация: 14.02.2011
Сообщений: 18,957
29.03.2014, 10:23 3
Цитата Сообщение от Abdull2401 Посмотреть сообщение
a[i]=rand()%(25+65);
что сия аллегория означает? и чем отличается от
C++
1
a[i]=rand()%90;
0
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:24  [ТС] 4
Петррр, здесь получается ты сам выбираешь какие символы генерировать так??? если нажал 0 то маленькие если 1 то большие если 2 то цифры??
0
Петррр
6163 / 3464 / 897
Регистрация: 28.10.2010
Сообщений: 5,928
29.03.2014, 10:24 5
Abdull2401, режим того, какой вид символов генерируется, тоже делается рандом.
0
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:30  [ТС] 6
ValeryS, я синтаксис читал чтобы от 65 до 90 только символы крутиил
если по твоему смотреть то он будет по идее все 90 символов мне выдавать а мне надо только от 65 до 90

Добавлено через 1 минуту
Петррр, а почему rand()%3 он поидее только 3 символа будет крутить???

Добавлено через 38 секунд
Петррр, а ннет понял понял

Добавлено через 26 секунд
Петррр, здесь имеется ввиду что он по case проходить рандомно будет так?

Добавлено через 1 минуту
Петррр, кстати прога че то не пашет
0
ValeryS
Модератор
7376 / 5576 / 708
Регистрация: 14.02.2011
Сообщений: 18,957
29.03.2014, 10:30 7
Цитата Сообщение от Abdull2401 Посмотреть сообщение
если по твоему смотреть
по моему, смотреть
я твое же выражение упросил
смотри
rand()%(25+65)
сначала действие в скобках 25+65=90
rand()%90
вот я и спрашиваю чем отличается?
Цитата Сообщение от Abdull2401 Посмотреть сообщение
я синтаксис читал чтобы
не важно что ты считал, важно что получилось
0
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:32  [ТС] 8
ValeryS,
C++
1
2
3
v1 = rand() % 100;         // v1 in the range 0 to 99
v2 = rand() % 100 + 1;     // v2 in the range 1 to 100
v3 = rand() % 30 + 1985;   // v3 in the range 1985-2014
Добавлено через 27 секунд
ValeryS, как я понял ты так указываешь диапазон...
0
ValeryS
Модератор
7376 / 5576 / 708
Регистрация: 14.02.2011
Сообщений: 18,957
29.03.2014, 10:33 9
Цитата Сообщение от Abdull2401 Посмотреть сообщение
v3 = rand() % 30 + 1985;
разница есть
Цитата Сообщение от Abdull2401 Посмотреть сообщение
rand()%(25+65);
0
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:34  [ТС] 10
ValeryS, аа точно... капец глупо получилось...

Добавлено через 1 минуту
ValeryS, все заработало, только он выдает одни и те же символы...
0
ValeryS
Модератор
7376 / 5576 / 708
Регистрация: 14.02.2011
Сообщений: 18,957
29.03.2014, 10:35 11
Цитата Сообщение от Abdull2401 Посмотреть сообщение
аа точно... капец глупо получилось...
вот вот
убери скобки и от одной ошибки избавишься

вторая ошибка, введи размер пароля больше 20
0
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:38  [ТС] 12
ValeryS, разницы нету, все равно одни и те же символы выдает...
0
ValeryS
Модератор
7376 / 5576 / 708
Регистрация: 14.02.2011
Сообщений: 18,957
29.03.2014, 10:38 13
Цитата Сообщение от Abdull2401 Посмотреть сообщение
все заработало, только он выдает одни и те же символы...
нужно настроить генератор
прочитай про функцию srand
http://lord-n.narod.ru/download/book...C/18/srand.htm
0
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:39  [ТС] 14
ValeryS,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
main()
{
int x;
char a[5],i;
printf("vvesti dlinu parolya \n");
scanf("%d",&x);
printf("\n");
for(i=0;i<x+1;i++)
 {
  a[i]=rand()% 25+65;
 }
for(i=0;i<x;i++)
{
printf("%3c",a[i]);
}
getchar();
getchar();
}
решил проверить ввожу длину 6 все равно одни и те символы...
0
ValeryS
Модератор
7376 / 5576 / 708
Регистрация: 14.02.2011
Сообщений: 18,957
29.03.2014, 10:39 15
Цитата Сообщение от Abdull2401 Посмотреть сообщение
разницы нету, все равно одни и те же символы выдает...
а я не про символы
введи хотя бы 50 и программа упадет
0
Петррр
6163 / 3464 / 897
Регистрация: 28.10.2010
Сообщений: 5,928
29.03.2014, 10:40 16
Цитата Сообщение от Abdull2401 Посмотреть сообщение
кстати прога че то не пашет
http://ideone.com/uMR6bB
0
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:43  [ТС] 17
ValeryS, да мне хотя бы 6 символов чтобы генерировал случайным образом...
0
ValeryS
Модератор
7376 / 5576 / 708
Регистрация: 14.02.2011
Сообщений: 18,957
29.03.2014, 10:45 18
Abdull2401,
ты про srand прочитал?
0
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:47  [ТС] 19
ValeryS, да не совсем понял как его использовать (((
0
ValeryS
Модератор
7376 / 5576 / 708
Регистрация: 14.02.2011
Сообщений: 18,957
29.03.2014, 10:48 20
Цитата Сообщение от Abdull2401 Посмотреть сообщение
да не совсем понял как его использовать (((
там по ссылке пример есть
0
29.03.2014, 10:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2014, 10:48

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

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

Генератор паролей
Представляю Вам генератор паролей на C++. Спасибо пользователю nammidd за...


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

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

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