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

программка должна генерировать безопасный пароль - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить значение выражения http://www.cyberforum.ru/cpp-beginners/thread356288.html
http://www.cyberforum.ru/attachment.php?attachmentid=97239&stc=1&d=1316966829 Example: Input: 65 Output: 0.452665
C++ Задачи на строки не умею реализовывать вообще со строками беда, не умею реализовывать и всё Каждая задача на них - 3 часа убитого времени, а результат - неработающий быдлокод(ну каким ещё он может быть? :D) вот, собственно, одна из задач http://acm.timus.ru/problem.aspx?space=1&num=1786 помогите как можно красивее написать задачу, просьба написать сам код и объяснить алгоритм. Просто вообще никак не получаются строки. ... http://www.cyberforum.ru/cpp-beginners/thread356285.html
C++ Не большие операции с массивом.
Доброго дня. Ни как не могу понять в чем причина не исполнения следующей программы. Код ищет минимальный и максимальный элементы в массиве.(эта часть программы успешна) Далее все элементы которые находятся в данном массиве между мин.эл. и макс.эл +=1; Но это происходит только с первым элементом. #include <cstdlib> #include <iostream> using namespace std; int main () { long i , imin...
МОжна тут такое зделать? C++
Программа которая после ввода значения кофициентив выдает сообщение имеет квадратное уравнение действительные корни или нет? Я знаю начало только #include <iostream> )))
C++ как это делать? http://www.cyberforum.ru/cpp-beginners/thread356266.html
C++ Вывод на екран только двухзначние числа из файла Написать программу которая считывает текст из файла и выводит на экран только ленты, содержащие двухзначные числа. Програму нужно написать на С Зарание спасибо:))) подробнее

Показать сообщение отдельно
#pragma
Временно недоступен
 Аватар для #pragma
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
26.09.2011, 05:58     программка должна генерировать безопасный пароль
Вот тоже решил сварганить
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
/* -------------------------------------------------------------------------- */
#define PASS_STRENGTH 8
/* -------------------------------------------------------------------------- */
 
int generate (const char* const charset, const size_t charset_size,
                                         const size_t strength, char* dest);
 
/* -------------------------------------------------------------------------- */
int main()
{
   char alphabet[] = { 'A','Q','W','E','R','T','Y','U','I','O','P','{','}','A',
                       'S','D','F','G','H','J','K','L',':','Z','X','C','V','B',
                       'N','M','<','>','?','!','@','#','$','%','^','&','*','(',
                       ')','_','+','|','"','1','2','3','4','5','6','7','8','9',
                       '0','-','=','/','q','w','e','r','t','y','u','i','o','p',
                       '[',']','a','s','d','f','g','h','j','k','l',';','z','x',
                       'c','v','b','n','m',',','.',                           };
 
   int    result;
   char*  password;
   size_t size          = sizeof(alphabet);
   size_t pass_strength = PASS_STRENGTH;
 
   srand ((unsigned)time(NULL));
 
   password = malloc( size + 1); /*  + 1 for \0   */
 
   if (password == NULL) {
      fprintf( stderr, "[ ERROR: main(): malloc(): Not enough memory ]\n");
      return -1;
   }
 
   result = generate( alphabet, size, pass_strength, password );
 
   if (result != 0) {
      fprintf( stderr, "[ ERROR: main(): generate() has returned an error ]\n");
      return -1;
   }
 
   password[ size + 1] = '\0';
 
   fprintf( stdout, "[ INFO: The password is: %s ]\n", password);
 
   return 0;
}
/* -------------------------------------------------------------------------- */
int
generate (const char* const charset, const size_t charset_size,
                                     const size_t strength, char* dest)        {
 
   char* password;
   size_t i;
 
   if (dest == NULL      || charset == NULL        ||
       charset_size == 0 || strength > charset_size   ) {
      fprintf( stderr, "[ ERROR: generate(): Invalid parameters ]\n");
      return -1;
   }
 
   password = malloc(charset_size);
 
   if (password == NULL) {
      fprintf( stderr, "[ ERROR: generate(): malloc(): Not enough memory ]\n");
      return -2;
   }
 
   for (i = 0; i < strength; ++i) {
      password[i] = charset[ (rand() % charset_size) ];
   }
 
   memcpy( dest, password, charset_size);
   free  (password);
 
   return 0;
}
/* -------------------------------------------------------------------------- */
Если хочется - можно модифицировать так, чтобы генерировался не один пароль,а 5. Набор символов я взял немного расширенный.
 
Текущее время: 02:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru