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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
Ксения
Сообщений: n/a
#1

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

27.11.2007, 13:20. Просмотров 1982. Ответов 4
Метки нет (Все метки)

Помогите, пожалуйста, уважаемый программисты!!

сочно нужна простенькая задачка (текст) по генерации паролей!!! к сожалению нет возможности поискать по интернету сейчас, а тем более поискать, но нужно очень срочно!!! пожааалуйста!! может у кого нибудь уже есть?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2007, 13:20     Генерация паролей
Посмотрите здесь:

Генератор паролей - C++
Кто может чётко написать коментарии для генератора паролей Просто я учусь программировать на С++ и вот решил разбирать несложные коды ...

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

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

Шифровальщик паролей - C++
Здравствуйте, уважаемые гуру и более другие программисты. Я, как видно из моего ника, полный нуб. Это обидно. А ведь очень хочется...

Генератор паролей - C++
1. В таблице 1 найти требования, которым должен удовлетворять генератор паролей, соответствующий Вашему варианту. 2. Написать...

Генератор паролей - C++
нужно сгенерировать пароль хотя что бы большие латинские буквы, Коды английских символов - «A»=65,…,«Z»=90, «a»=97,…, «z» =122. ...

Генератор паролей - C++
Привет юзерам cyberforum'а. Требуется следующее: Написать программу - генератор паролей. Программа должна выполнять следующие...

взлом паролей - C++
есть ли какие нибудь простые алгоритмы для взлома паролей к rаr архиву? Желательно чтоб были по с++

генератор паролей - C++
Реализовать на языке программирования С программу, реализующую генератор паролей. необходимо чтобы программа выдавала 6 случайных букв...

Генератор паролей - C++
Здравствуйте! Мне нужна ваша помощь! Мне нужно, чтобы пароли которые я генерирую, записывались в шаблон Word, Excel и Блокнот (по...

Дописать генератор паролей - C++
Привет Всем !!! Мне нужно для этого генератора: 1) добавить ограничение ввода букв в (длину пароля и количество паролей); 2)...

Сгенерировать список паролей - C++
Добрый день! Необходимо сгенерировать все комбинации пароля (12 символов) из символов a-z; A-Z; 0-9 Выбрать только уникальные из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mik-a-el
CyberForum Owner
57129 / 36879 / 231
Регистрация: 10.04.2006
Сообщений: 12,660
27.11.2007, 13:37     Генерация паролей #2
Код на делфях, но зато с подробными комментариями:
Код
// запускаем генератор случайных чисел (только при старте приложения).
procedure tform1.formcreate(sender: tobject);
begin
randomize;
end;

function randompwd(pwlen: integer): string;
// таблица символов, используемых в пароле
const strtable: string =
'!#$%&/()=?@<>|{[]}*~+#;:.-_' +
'abcdefghijklmabcdefghijklm' +
'0123456789' +
'ДЦЬдцьЯ' +
'nopqrstuvwxyznopqrstuvwxyz';
var
n, k, x, y: integer;
begin
// проверяем максимальную длину пароля
if (pwlen > length(strtable)) then k := length(strtable)-1
else k := pwlen;
setlength(result, k); // устанавливаем длину конечной строки
y := length(strtable); // Длина Таблицы для внутреннего цикла
n := 0; // начальное значение цикла

while n < k do begin // цикл для создания k символов
x := random(y) + 1; // берём следующий случайный символ
// проверяем присутствие этого символа в конечной строке
if (pos(strtable[x], result) = 0) then begin
inc(n); // символ не найден
result[n] := strtable[x]; // теперь его сохраняем
end;
end;
end;

procedure tform1.button1click(sender: tobject);
var
cpwd: string;
begin
// вызываем функцию генерации пароля из 30 символов
cpwd := randompwd(30);
// ...
end;
mik-a-el
CyberForum Owner
57129 / 36879 / 231
Регистрация: 10.04.2006
Сообщений: 12,660
27.11.2007, 13:40     Генерация паролей #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Генератор криптостойкого пароля на 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;
}
Ксения
Сообщений: n/a
27.11.2007, 13:40     Генерация паролей #4
спасибо большое!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Power!
2 / 2 / 0
Регистрация: 25.09.2012
Сообщений: 148
16.07.2013, 21:04     Генерация паролей #5
А как задать длину пароля?ну скажем ввели в поле edit цифру 5,и пароль сгенерировался из 5-ти символов?
Yandex
Объявления
16.07.2013, 21:04     Генерация паролей
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru