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

Генерация паролей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Error LNK2001: "unresolved external symbol _main" http://www.cyberforum.ru/cpp-beginners/thread3601.html
вот программа: #include <iostream.h> #include <stdlib.h> #include <time.h> class Mas_2d { public: Mas_2d();
C++ Помогите с задачами: Одномерный массив, Строки, Двумерные массивы 1. Одномерный массив Упорядочить элементы массива, удалив повторяющиеся элементы. 2. Строки Вводится строка,в конце ставится точка. Определить, удовлетворяет ли введенный текст приведенным ниже условиям. Текст является шестнадцатиричной записью числа,кратного 7. 3. Двумерные массивы. Заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей ЛП, от левого... http://www.cyberforum.ru/cpp-beginners/thread3600.html
Двумерный массив, Нужна помощь профи C++
Доброго времени суток!!! Помогите доделать задачу... Найти максимальный элемент матрицы из тех строк, которые упорядочены либо по возрастанию, либо по убыванию. Например : 1 7 40 54 - строка упорядочена по возрастанию 3 5 1 66 - строка не упорядочена
C++ Вывести на экран элементы массива целых чисел в порядке возрастания их числа делителей
1 Получить все числа, которые входят в массив по одному разу 2 Вывести на экран элементы массива целых чисел в порядке возрастания их числа делителей. 3 подсчитать число вхождений в строку группы символов abc
C++ iomanip http://www.cyberforum.ru/cpp-beginners/thread3591.html
какие функции входят в библиотеку iomanip.h?
C++ Считывание и вывод на экран изображения в С++ Очень шужна такая программа. Если кто-то писал - помогите плз. подробнее

Показать сообщение отдельно
mik-a-el
CyberForum Owner
 Аватар для mik-a-el
56107 / 35857 / 231
Регистрация: 10.04.2006
Сообщений: 12,583
27.11.2007, 13:40     Генерация паролей
Генератор криптостойкого пароля на Visual C++
Код
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream.h>
#define MaxPassLen 14

// интервалы кодов символов
#define FirstUpCaseLet  65
#define LastUpCaseLet   90
#define FirstLowCaseLet 97
#define LastLowCaseLet  122
#define FirstNum        48
#define LastNum         57
#define FirstSym        33
#define LastSym         47

#define ZeroSt			4
#define LowCaseLetSt	0
#define UpCaseLetSt		1
#define NumberSt        2
#define SymbolSt        3

int main ()
{
  int i=0;
  int OptionLowerCaseLetters=0;
  int OptionUpperCaseLetters=0;
  int OptionNumbers=0;
  int OptionSymbols=0;

  time_t StRand=0;
  int Generator[ZeroSt] = {0};
  int Choice[ZeroSt] = {0};

  char Password[MaxPassLen] = {0};
  int MaxNoOfChars=0;
  cout << "Input pLen" << endl;
  cin >> MaxNoOfChars;
  cout << endl;
  cout << "Choose the Symbols of which pass will consist" << endl;
  cout << "LowerCaseLetters - ";
  cin >> OptionLowerCaseLetters;
  cout << "\nUpperCaseLetters - ";
  cin >> OptionUpperCaseLetters;
  cout << "\nNumberSt - ";
  cin >> OptionNumbers;
  cout << "\nSymbolSt - ";
  cin >> OptionSymbols;
  cout << endl;

srand((unsigned)time(&StRand));
// начальное значение генератора
for (i = 0; i < MaxPassLen; i++)
{
  if (i < MaxNoOfChars)
  {
    Generator[LowCaseLetSt]=FirstLowCaseLet + 
		(rand() % (LastLowCaseLet+1 - FirstLowCaseLet));
    Generator[UpCaseLetSt]=FirstUpCaseLet + 
		(rand() % (LastUpCaseLet+1 - FirstUpCaseLet)); 
    Generator[NumberSt]=FirstNum + 
		(rand() % (LastNum+1 - FirstNum)); 
    Generator[SymbolSt]=FirstSym + 
		(rand() % (LastSym+1 - FirstSym)); 

    if (OptionLowerCaseLetters) 
      Password[i]=(char)Generator[LowCaseLetSt];
    if (OptionUpperCaseLetters) 
      Password[i]=(char)Generator[UpCaseLetSt];
    if (OptionNumbers) 
      Password[i]=(char)Generator[NumberSt];
    if (OptionSymbols) 
      Password[i]=(char)Generator[SymbolSt];
    if ((OptionLowerCaseLetters) && (OptionUpperCaseLetters))
    {
      Choice[LowCaseLetSt]=rand () %2;
      Choice[UpCaseLetSt]=rand () %2;
      if (Choice[LowCaseLetSt])
      {
        Password[i]=(char)Generator[LowCaseLetSt];
      }
      else if (Choice[UpCaseLetSt])
      {
        Password[i]=(char)Generator[UpCaseLetSt];
      }
    }
    if ((OptionLowerCaseLetters) && (OptionNumbers))
    {
      Choice[LowCaseLetSt]=rand() %2;
      Choice[NumberSt]=rand() %2;
      if (Choice[LowCaseLetSt])
      {
        Password[i]=(char)Generator[LowCaseLetSt];
      }
      else if (Choice[NumberSt])
      {
        Password[i]=(char)Generator[NumberSt];
      }
    }
    if ((OptionLowerCaseLetters) && (OptionSymbols))
    {
      Choice[LowCaseLetSt]=rand() %2;
      Choice[SymbolSt]=rand() %2;
      if (Choice[LowCaseLetSt])
      {
        Password[i]=(char)Generator[LowCaseLetSt];
      }
      else if (Choice[SymbolSt])
      {
        Password[i]=(char)Generator[SymbolSt];
      }
    }
    if ((OptionUpperCaseLetters) && (OptionNumbers))
    {
      Choice[UpCaseLetSt]=rand() %2;
      Choice[NumberSt]=rand() %2;
      if (Choice[UpCaseLetSt])
      {
        Password[i]=(char)Generator[UpCaseLetSt];
      }
      else if (Choice[NumberSt])
      {
        Password[i]=(char)Generator[NumberSt];
      }
    }
    if ((OptionUpperCaseLetters) && (OptionSymbols))
    {
      Choice[UpCaseLetSt]=rand() %2;
      Choice[SymbolSt]=rand() %2;
      if (Choice[UpCaseLetSt])
      {
        Password[i]=(char)Generator[UpCaseLetSt];
      }
      else if (Choice[SymbolSt])
      {
        Password[i]=(char)Generator[SymbolSt];
      }
    }
    if ((OptionNumbers) && (OptionSymbols))
    {
      Choice[NumberSt]=rand() %2;
      Choice[SymbolSt]=rand() %2;
      if (Choice[NumberSt])
      {
        Password[i]=(char)Generator[NumberSt];
      }
      else if (Choice[SymbolSt])
      {
        Password[i]=(char)Generator[SymbolSt];
      }
    }
    if ((OptionLowerCaseLetters) && (OptionUpperCaseLetters) 
		&& (OptionNumbers))
    {
      Choice[LowCaseLetSt]=rand() %2;
      Choice[UpCaseLetSt]=rand() %2;
      Choice[NumberSt]=rand() %2;
      if (Choice[LowCaseLetSt])
      {
        Password[i]=(char)Generator[LowCaseLetSt];
      }
      else if (Choice[UpCaseLetSt])
      {
        Password[i]=(char)Generator[UpCaseLetSt];
      }
      else if (Choice[NumberSt])
      {
        Password[i]=(char)Generator[NumberSt];
      }
    }
    if ((OptionLowerCaseLetters) && (OptionUpperCaseLetters) 
		&& (OptionSymbols))
    {
      Choice[LowCaseLetSt]=rand() %2;
      Choice[UpCaseLetSt]=rand() %2;
      Choice[SymbolSt]=rand() %2;
      if (Choice[LowCaseLetSt])
      {
        Password[i]=(char)Generator[LowCaseLetSt];
      }
      else if (Choice[UpCaseLetSt])
      {
        Password[i]=(char)Generator[UpCaseLetSt];
      }
      else if (Choice[SymbolSt])
      {
        Password[i]=(char)Generator[SymbolSt];
      }
    }
    if ((OptionLowerCaseLetters) && (OptionNumbers) 
		&& (OptionSymbols))
    {
      Choice[LowCaseLetSt]=rand() %2;
      Choice[NumberSt]=rand() %2;
      Choice[SymbolSt]=rand() %2;
      if (Choice[LowCaseLetSt])
      {
        Password[i]=(char)Generator[LowCaseLetSt];
      }
      else if (Choice[NumberSt])
      {
        Password[i]=(char)Generator[NumberSt];
      }
      else if (Choice[SymbolSt])
      {
        Password[i]=(char)Generator[SymbolSt];
      }
    }
    if ((OptionUpperCaseLetters) && (OptionNumbers) 
		&& (OptionSymbols))
    {
      Choice[UpCaseLetSt]=rand() %2;
      Choice[NumberSt]=rand() %2;
      Choice[SymbolSt]=rand() %2;
      if (Choice[UpCaseLetSt])
      {
        Password[i]=(char)Generator[UpCaseLetSt];
      }
      else if (Choice[NumberSt])
      {
        Password[i]=(char)Generator[NumberSt];
      }
      else if (Choice[SymbolSt])
      {
        Password[i]=(char)Generator[SymbolSt];
      }
    }
    if ((OptionLowerCaseLetters) && (OptionUpperCaseLetters) 
		&& (OptionNumbers) && (OptionSymbols))
    {
      Choice[LowCaseLetSt]=rand() %2;
      Choice[UpCaseLetSt]=rand() %2;
      Choice[NumberSt]=rand() %2;
      Choice[SymbolSt]=rand() %2;
      if (Choice[LowCaseLetSt])
      {
        Password[i]=(char)Generator[LowCaseLetSt];
      }
      else if (Choice[UpCaseLetSt])
      {
        Password[i]=(char)Generator[UpCaseLetSt];
      }
      else if (Choice[NumberSt])
      {
        Password[i]=(char)Generator[NumberSt];
      }
      else if (Choice[SymbolSt])
      {
        Password[i]=(char)Generator[SymbolSt];
      }
    }
   }
   else 
		Password[i]= ' ';				 
   }               
    Password[i]= '\0';
    cout << Password << endl;
    return 1;
}
 
Текущее время: 06:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru