пятница, 13 марта 2015 г.

Генератор сложных паролей в Delphi

Иногда не слишком хочется загружать свои мозги придумыванием сложного пароля. Этой проблеме посвящена еще одна программа-генератор паролей, написанная в Делфи 7.0. Приложение не работает автоматически и не заносит полученные пароли в нужные поля. Но те, кому это требуется, могут доработать программу, скачав исходники по ссылке в конце статьи. Итак, приступим.

Постановка задачи


Разработать генератор паролей с такими условиями:
  1. Количество символов в пароле – до 20.
  2. В пароле должны присутствовать латинские строчные и прописные буквы, цифры и специальные символы (выбирается пользователем опционально).
  3. Копирование сгенерированного пароля в буфер обмена.

Схема алгоритма решения задачи


Для решения поставленной задачи нам необходимо:
  1. Если пользователем введено количество символов, то считать его.
  2. Определить требуемый пользователем формат символов, из которых будет состоять пароль.
  3. Выполнить генерацию пароля.
  4. Вывести результат.
  5. Скопировать результат в буфер обмена.
Покажем на общей схеме принцип работы генератора паролей:

Генератор сложных паролей в Delphi

Описание используемых компонентов


Для написания программы на форму были помещены такие компоненты среды разработки Delphi:
  • поля Edit (для ввода пользовательских значений и вывода полученных результатов);
  • кнопки Button;
  • 2 элемента GroupBOX (в них будет выбираться формат символов, входящих в пароль);
  • поле Memo (для вывода логов работы программы);
  • Label (надписи, с помощью которых подпишем поля);
  • UpDown (элемент для прокрутки числовых значений в поле ввода количества символов);
  • SpeedButton (кнопка для вызова справки).
На событие создания формы OnCreate в процедуре TForm1.OnCreate зададим создание файла pass.log, который будет создаваться в корневом каталоге диска С. Символы, из которых может состоять пароль, опишем, как константы.

При нажатии кнопки Gen вызывается процедура TForm1.GenClick, определяющая введенный пользователем формат символов и генерирующая из этих символов пароль. Если количество символов в пароле не задано или равняется нулю, то будет выведено сообщение об ошибке.

При нажатии кнопки Button1 вызывается процедура, отвечающая за копирование пароля в буфер обмена. Она вызывает подпроцедуру копирования CopyStringToClipboard;

При нажатии кнопки Button2 выводятся на экран логи работы программы. Они включают в себя сгенерированные пароли, а так же сообщения об ошибках.

При нажатии кнопки SpeedButton1 вызывается справочная система калькулятора.
Справочная система разработана с помощью утилиты Hcw.exe. Для этого сначала справочный материал был написан в Microsoft Word, расставлены ссылки в каждом пункте справки, информация сохранена в rtf формате. Далее с помощью вышеназванной утилиты была создана справочная система и оглавление к ней. Для связи справочной системы с нашим приложением было введено название help-файла в меню Borland Delphi «Проект» → «Параметры» → «Приложение» → «Файл справки».

Пример результатов работы программы


Например введем количество символов 15, смешанные, латиница.
Получим такие результаты:

Генератор сложных паролей в Delphi

Теперь выберем цифровое значение пароля:

Генератор сложных паролей в Delphi

Выберем символьные значения:

Генератор сложных паролей в Delphi

При выборе всех пунктов, то есть латиницы, цифровых и символьных значений получим:

Генератор сложных паролей в Delphi

При неправильном вводе данных мы увидим сообщение об ошибке:

Генератор сложных паролей в Delphi

При нажатии на кнопку «Логи» мы увидим логи работы нашей программы:

Генератор сложных паролей в Delphi

Текст log-файла находится в приложении А в конце статьи.

При нажатии на кнопку помощи можно посмотреть справочное руководство:

Генератор сложных паролей в Delphi

Инструкция пользователю программы


Генерирование пароля:

Для того чтобы сгенерировать пароль, необходимо:
  • ввести в поле «Количество символов» число, отличное от нуля;
  • если в пароль будут входить латинские символы, то выбрать, будут ли они строчные, прописные или же смешанные;
  • выбрать, из каких символов будет генерироваться пароль: латиница, цифры 0..9, спецсимволы. Можно отметить все эти пункты. В таком случае пароль будет включать в себя все эти символы;
  • нажать кнопку «Старт».
Если не введено количество символов, пароль генерироваться не будет. Будет выдано сообщение об ошибке.

Копирование пароля в буфер обмена:

Для копирования пароля в буфер обмена необходимо нажать на кнопку «Копировать в буфер обмена». Если пароль предварительно не был сгенерирован, появится сообщение об ошибке.

Просмотр логов работы:

Программа при загрузке создает текстовый файл, в который заносятся результаты всех действий, то есть: сгенерированный пароль, копирование в буфер обмена или же сообщение об ошибке. Для просмотра этого файла нужно нажать кнопку «Логи».

Приложение А


Результат:  peWKqjClvaGWAyT
Результат:  815815866775261
Результат:  |> '!['+-'|;%\#
Результат:  7(;&p8<zRv 2%1J
Результат:  Выберите кол-во символов в пароле!

Вы можете скачать готовое приложение генератора паролей и его исходники, нажав на эту кнопку:

.

Комментариев нет:

Отправить комментарий