Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Программирование »   Общие вопросы »   Генерация пароля
RSS

Генерация пароля

Конечно же нужна помощь,для написания программы...

Текущий рейтинг темы: Нет

  Вперед>>Печать
 
Guest
Гость



Я считаю что генератор паролей можно написать на любом языке.Пока я новичок в программирование,но планирую много чего...Помогите разобраться с составлением алгоритма.Можно найти в Net'e много программ которые генерируют пароли,и вы наверное скажите:"Нафига изобретать велик?"А-а-а...Множество этих прог недоделанные(например у майла пароли состоят из больших маленьких английских букв, цифр и символов".", "-" и "_").Вот!А боьшинство прог используют все символы.Да и просто интересно как работает...
КОРОЧЕ.
Хочу написать прогу в которую вводишь символы,которые хочеш и длинну пароля,потом прога запрашивает файл в .txt, куда сохранять комбтнации и туда все кидает.Вот! Помогите пожалуйса разобраться с алгоритмом!!!
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Да если ты не гонишься за сверхскоростью, то все предельно просто:
Тебе потребуется переменная-строка со всеми символами, которые нужно использовать в пароле, строка с паролем, и переменная-массив, длина которой не меньше максимальной длины генерируемого пароля. В массиве ты будешь хранить текущий символ для каждой позиции
Внешний цикл — это проход от минимальной длины до максимальной.
Второй цикл — это проход от единицы до текущей длины (значения переменной внешнего цикла), плюс в
Внутренний цикл — это заполнение строки с паролем символами.

Т.е. получаем примерно следующее (если писать на Pascal):
var
Pass : string;
Symbols : string;
BEGIN
for i:=Min_length to Max_Length do begin
for j:=1 to i do Pass[j]:=Symbols[1];
for j:=1 to i do begin
for l:=1 to j do begin
for k:=1 to StrLen(Symbols) do begin
Pass[l]:=Symbols[k]; // помещаем в текущую позицию пароля очередной символ
// сохранение полученного пароля в файл
end;
end;
end;
end;

Если же требуется какое-то более сложное условие (например, чтобы часть символов использовалась только в середине пароля), то перед сохранением нужно поставить проверку доп. условий.
Возможно, можно придумать и более эффеективный пособ выборки для сложных условий, но это надо думать.

P.S. Алгоритм не тестировал, возможно, где-то есть ошибки.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Guest
Гость



XXXX Pro,большое тебе спасибо!Ты мне во многом очень сильно помог!РЕСПЕКТ! ;)
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Кстати, я несколько ошибся: циклов всего 4 получилось в итоге... Но идею, думаю, ты понял.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
  Вперед>>Печать
Объединенный Открытый Проект »   Программирование »   Общие вопросы »   Генерация пароля
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0587. Количество выполненных запросов: 18, время выполнения запросов 0.0207