Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2011, 23:20   #1
Tactical
 
Регистрация: 28.05.2011
Сообщений: 8
По умолчанию Создание генератора паролей на C++

Зарегался на вашем форуме, в надежде что кто нибудь из вас мне поможет... На вашем форуме много подобных тем, но это всё немного не то что мне нужно.
А нужен мне генератор паролей такой, что бы выдавал пароль, при введении длинны пароля (кол-ва символов в пароле), состоящий из рандомно расположенных букв латинского алфавита и цифр от 0 до 9.
Результат работы проги чтобы выводил на экран в Turbo С++
И если можно, то к каждой строчке напишите комментарий что данная строчка делает.
Мне это нужно для курсовика...
Кто поможет, тому век благодарен буду. Могу каждый день(если человек который мне помог захочет) ставить + в репутацию
Помогите плиз...

Последний раз редактировалось Tactical; 28.05.2011 в 23:21. Причина: Немного ошибся в тексте))
Tactical вне форума Ответить с цитированием
Старый 29.05.2011, 00:01   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Так в чём проблема?
В тупую можно так:
Рандомте число в определённом интервале! Потом из этого числа получаете из аски таблицы символ! Добавляете в строку и всё!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 29.05.2011, 00:06   #3
_Alerter_
Пользователь
 
Регистрация: 25.05.2011
Сообщений: 89
По умолчанию

Код:
#include <iostream>
#include <time.h>
using namespace std;

void main()
{
	int N;
	cout << "Vvedite dlinu parolia:\n";  //выводим сообщение
	cin >> N; //считываем длину пароля
	srand(time(NULL)); //инициализируем генератор случайных чисел
	char * pass = new char[N + 1]; //выделяем память для строки пароля
	for (int i = 0; i < N; ++ i) 
	{
		switch(rand() % 3) //генерируем случайное число от 0 до 2
		{
		case 0: //если ноль
			pass[i] = rand() % 10 + '0'; //вставляем в пароль случайную цифру
			break;
		case 1: //если единица
			pass[i] = rand() % 26 + 'A'; //вставляем случайную большую букву
			break;
		case 2: //если двойка
			pass[i] = rand() % 26 + 'a'; //вставляем случайную маленькую букву
		}
	}
	pass[N] = 0; //записываем в конец строки признак конца строки
	cout << pass; //выводим пароль на экран
}
_Alerter_ вне форума Ответить с цитированием
Старый 29.05.2011, 00:13   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Могу ошибаться, но помоему лучше так
Код:
pass[N] = '\0';
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 29.05.2011, 00:45   #5
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
Могу ошибаться, но помоему лучше так
Код:
pass[N] = '\0';
Это не принципиально
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 29.05.2011, 00:45   #6
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

Tactical

А нужен мне генератор паролей такой, что бы выдавал пароль, при введении длинны пароля (кол-ва символов в пароле), состоящий из рандомно расположенных букв латинского алфавита и цифр от 0 до 9.

как-то так...

Код:
#include <stdlib.h>
#include <ctype.h>

void gen(char* p, size_t N)
{
	while (N--)
	{
		char ch;
		while ((ch = (char) (rand() % (127 - '0' + 1) + '0')), !isalnum(ch))
			;
		*p++ = ch;
	}
	*p = 0;
}

использование

char s[10] = {0};
gen(s, 10);
Rififi вне форума Ответить с цитированием
Старый 29.05.2011, 13:58   #7
Tactical
 
Регистрация: 28.05.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Tactical Посмотреть сообщение
Зарегался на вашем форуме, в надежде что кто нибудь из вас мне поможет... На вашем форуме много подобных тем, но это всё немного не то что мне нужно.
А нужен мне генератор паролей такой, что бы выдавал пароль, при введении длинны пароля (кол-ва символов в пароле), состоящий из рандомно расположенных букв латинского алфавита и цифр от 0 до 9.
Результат работы проги чтобы выводил на экран в Turbo С++
И если можно, то к каждой строчке напишите комментарий что данная строчка делает.
Мне это нужно для курсовика...
Кто поможет, тому век благодарен буду. Могу каждый день(если человек который мне помог захочет) ставить + в репутацию
Помогите плиз...
Я ещё забыл упомянуть что пароль каждый раз разный должен быть
Tactical вне форума Ответить с цитированием
Старый 29.05.2011, 14:11   #8
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Цитата:
Я ещё забыл упомянуть что пароль каждый раз разный должен быть
с почти 100% вероятностью приведенные _Alerter_ и Rififi примеры будут выдавать всегда разные пароли
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 29.05.2011, 14:28   #9
Tactical
 
Регистрация: 28.05.2011
Сообщений: 8
По умолчанию

В от в этих строчках ошибки выдаёт:

using namespace std;
srand(time(NULL)); //инициализируем генератор случайных чисел.
Tactical вне форума Ответить с цитированием
Старый 29.05.2011, 14:33   #10
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

Я ещё забыл упомянуть что пароль каждый раз разный должен быть

Tactical

RTFM http://www.cplusplus.com/reference/c...cstdlib/srand/
Rififi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Схема генератора ГНЧШ (1981 г.в.) Terran Свободное общение 1 21.08.2013 16:22
Обнуление генератора Lokos БД в Delphi 5 04.10.2010 12:07
Анализ генератора случайных величин 3bukvy Софт 16 15.09.2009 07:41
Создание паролей в Delphi RockForr Общие вопросы Delphi 40 29.04.2009 19:35
Создание библиотек паролей!!! Виталий Горбунов Общие вопросы C/C++ 5 22.03.2008 20:18