Форум программистов, компьютерный форум CyberForum.ru

Генератор паролей - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:06     Генератор паролей #1
нужно сгенерировать пароль хотя что бы большие латинские буквы,
Коды английских символов - «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();
}
вот что выдеат...
Миниатюры
Генератор паролей  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2014, 10:06     Генератор паролей
Посмотрите здесь:

генератор паролей C++
C++ Генератор паролей
генератор паролей C++
C++ Генератор паролей (нужна проверка)
C++ генератор уникальных паролей
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
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;
}
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
29.03.2014, 10:23     Генератор паролей #3
Цитата Сообщение от Abdull2401 Посмотреть сообщение
a[i]=rand()%(25+65);
что сия аллегория означает? и чем отличается от
C++
1
a[i]=rand()%90;
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:24  [ТС]     Генератор паролей #4
Петррр, здесь получается ты сам выбираешь какие символы генерировать так??? если нажал 0 то маленькие если 1 то большие если 2 то цифры??
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
29.03.2014, 10:24     Генератор паролей #5
Abdull2401, режим того, какой вид символов генерируется, тоже делается рандом.
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 минуту
Петррр, кстати прога че то не пашет
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
29.03.2014, 10:30     Генератор паролей #7
Цитата Сообщение от Abdull2401 Посмотреть сообщение
если по твоему смотреть
по моему, смотреть
я твое же выражение упросил
смотри
rand()%(25+65)
сначала действие в скобках 25+65=90
rand()%90
вот я и спрашиваю чем отличается?
Цитата Сообщение от Abdull2401 Посмотреть сообщение
я синтаксис читал чтобы
не важно что ты считал, важно что получилось
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, как я понял ты так указываешь диапазон...
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
29.03.2014, 10:33     Генератор паролей #9
Цитата Сообщение от Abdull2401 Посмотреть сообщение
v3 = rand() % 30 + 1985;
разница есть
Цитата Сообщение от Abdull2401 Посмотреть сообщение
rand()%(25+65);
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:34  [ТС]     Генератор паролей #10
ValeryS, аа точно... капец глупо получилось...

Добавлено через 1 минуту
ValeryS, все заработало, только он выдает одни и те же символы...
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
29.03.2014, 10:35     Генератор паролей #11
Цитата Сообщение от Abdull2401 Посмотреть сообщение
аа точно... капец глупо получилось...
вот вот
убери скобки и от одной ошибки избавишься

вторая ошибка, введи размер пароля больше 20
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:38  [ТС]     Генератор паролей #12
ValeryS, разницы нету, все равно одни и те же символы выдает...
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
29.03.2014, 10:38     Генератор паролей #13
Цитата Сообщение от Abdull2401 Посмотреть сообщение
все заработало, только он выдает одни и те же символы...
нужно настроить генератор
прочитай про функцию srand
http://lord-n.narod.ru/download/book...C/18/srand.htm
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 все равно одни и те символы...
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
29.03.2014, 10:39     Генератор паролей #15
Цитата Сообщение от Abdull2401 Посмотреть сообщение
разницы нету, все равно одни и те же символы выдает...
а я не про символы
введи хотя бы 50 и программа упадет
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
29.03.2014, 10:40     Генератор паролей #16
Цитата Сообщение от Abdull2401 Посмотреть сообщение
кстати прога че то не пашет
http://ideone.com/uMR6bB
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:43  [ТС]     Генератор паролей #17
ValeryS, да мне хотя бы 6 символов чтобы генерировал случайным образом...
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
29.03.2014, 10:45     Генератор паролей #18
Abdull2401,
ты про srand прочитал?
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 10:47  [ТС]     Генератор паролей #19
ValeryS, да не совсем понял как его использовать (((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2014, 10:48     Генератор паролей
Еще ссылки по теме:

Генератор паролей C++
Создать генератор паролей в котором можно указать длину пароля и количество паролей C++
C++ Генератор паролей

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
29.03.2014, 10:48     Генератор паролей #20
Цитата Сообщение от Abdull2401 Посмотреть сообщение
да не совсем понял как его использовать (((
там по ссылке пример есть
Yandex
Объявления
29.03.2014, 10:48     Генератор паролей
Ответ Создать тему
Опции темы

Текущее время: 21:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru