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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определение простого числа http://www.cyberforum.ru/cpp-beginners/thread3614.html
С клавиатуры вводят натуральное 3-х значное число. Является ли оно простым (простые числа делятся нацело только на 1 и на себя). Описать функции: 1)ввода исходных данных 2) обработки исходных...
C++ Задача Иосифа Что-то жесткая задача... По кругу располагаются n=20 человек. Ведущий считает по кругу, начиная с первого, и выводит («казнит») m-го человека. Круг смыкается, счет возобновляется со следующего после... http://www.cyberforum.ru/cpp-beginners/thread3602.html
Error LNK2001: "unresolved external symbol _main" C++
вот программа: #include <iostream.h> #include <stdlib.h> #include <time.h> class Mas_2d { public: Mas_2d();
C++ Помогите с задачами: Одномерный массив, Строки, Двумерные массивы
1. Одномерный массив Упорядочить элементы массива, удалив повторяющиеся элементы. 2. Строки Вводится строка,в конце ставится точка. Определить, удовлетворяет ли введенный текст приведенным ниже...
C++ Двумерный массив, Нужна помощь профи http://www.cyberforum.ru/cpp-beginners/thread3593.html
Доброго времени суток!!! Помогите доделать задачу... Найти максимальный элемент матрицы из тех строк, которые упорядочены либо по возрастанию, либо по убыванию. Например : 1 7 40 54 -...
C++ Вывести на экран элементы массива целых чисел в порядке возрастания их числа делителей 1 Получить все числа, которые входят в массив по одному разу 2 Вывести на экран элементы массива целых чисел в порядке возрастания их числа делителей. 3 подсчитать число вхождений в строку... подробнее

Показать сообщение отдельно
mik-a-el
Администратор
67821 / 37842 / 231
Регистрация: 10.04.2006
Сообщений: 12,815
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;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru