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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определение простого числа http://www.cyberforum.ru/cpp-beginners/thread3614.html
С клавиатуры вводят натуральное 3-х значное число. Является ли оно простым (простые числа делятся нацело только на 1 и на себя). Описать функции: 1)ввода исходных данных 2) обработки исходных данных 3)вывода результата. С помощью этих функций написать программу для решения предложенной задачи...
C++ Задача Иосифа Что-то жесткая задача... По кругу располагаются n=20 человек. Ведущий считает по кругу, начиная с первого, и выводит («казнит») m-го человека. Круг смыкается, счет возобновляется со следующего после «казненного»; так продолжается, пока «в живых» останется только один человек. Найти номер оставшегося «в живых» человека, а также найти такое m>1, при котором «в живых» останется первый. 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. Строки Вводится строка,в конце ставится точка. Определить, удовлетворяет ли введенный текст приведенным ниже условиям. Текст является шестнадцатиричной записью числа,кратного 7. 3. Двумерные массивы. Заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей ЛП, от левого...
C++ Двумерный массив, Нужна помощь профи http://www.cyberforum.ru/cpp-beginners/thread3593.html
Доброго времени суток!!! Помогите доделать задачу... Найти максимальный элемент матрицы из тех строк, которые упорядочены либо по возрастанию, либо по убыванию. Например : 1 7 40 54 - строка упорядочена по возрастанию 3 5 1 66 - строка не упорядочена
C++ Вывести на экран элементы массива целых чисел в порядке возрастания их числа делителей 1 Получить все числа, которые входят в массив по одному разу 2 Вывести на экран элементы массива целых чисел в порядке возрастания их числа делителей. 3 подсчитать число вхождений в строку группы символов abc подробнее

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