ВВЕДЕНИЕ 3
1. Анализ состояния вопроса. 5
1.1 Анализ аналогов и прототипов. 5
1.2 Обзор основных существующих языков программирования. 8
1.3 Методы шифрования информации. 12
1.4 Концепция объектно-ориентированного программирования. 13
1.5 Перечень задач подлежащих решению в процессе разработки. 16
1.6 Требования к программе и программному изделию. 17
1.6.1 Требования к функциональным характеристикам. 17
1.6.2 Требования к составу и параметрам технических средств. 17
1.6.3 Требования к информационной и программной совместимости. 17
2 Реализация программы на языке программирования С#. 18
2.1 Разработка структурной схемы программы. 18
2.2 Проектирование базы данных. 19
2.3 Алгоритм работы программы. 20
2.4 Генератор случайных паролей. 22
2.5 Разработка интерфейса программы. 22
ЗАКЛЮЧЕНИЕ 23
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 24
Приложение 1. Экранные формы программы. 25
Приложение 2. Код программы 28
Сейчас пароли используются повсеместно. Чаще всего пароли встречается в Интернете. Однако в жизни пароли встречаются так же часто: например, банкомат требует ПИН-код, который тоже является паролем. Такой же код требуется ввести при включении телефона.
Пароль - это секретное слово или набор символов, предназначенный для подтверждения личности или полномочий. Пароли часто используются для защиты информации от несанкционированного доступа. В большинстве вычислительных систем комбинация «имя пользователя - пароль» используется для удостоверения пользователя.
Паролирование - основной способ защиты информации. Для повышения безопасности обычно используются следующие методы:
• Ограничение минимальной длины пароля;
• Требование повторного ввода пароля после определенного периода бездействия;
• Требование периодического изменения пароля;
• Назначение стойких паролей (генерируемых с использованием аппаратного источника случайных чисел, либо с использованием генератора псевдослучайных чисел, выход которого перерабатывается стойкими хэш-преобразованиями).
Исследования показывают, что около 40 % всех пользователей выбирают пароли, которые легко угадать автоматически. Легко угадываемые пароли считаются слабыми и уязвимыми. Пароли, которые очень трудно или невозможно угадать, считаются более стойкими.
Часто требуют следующие требования к паролям:
• Пароль не должен быть слишком коротким, поскольку это упрощает его взлом полным перебором. Наиболее распространенная минимальная длина - восемь символов. По той же причине он не должен состоять из одних цифр;
• Пароль не должен быть словарным словом или простым их сочетанием, это упрощает его подбор по словарю;
• Пароль не должен состоять только из общедоступной информации о пользователе.
В качестве рекомендацией к составлению пароля можно назвать использование сочетания слов с цифрами и специальными символами (#, $, * и т.д.), использование малораспространенных или несуществующих слов, соблюдение минимальной длины. Для большей безопасности применяют сложные пароли. Однако не все сложные пароли можно придумать «в голове». Плюс, придуманные пароли нужно где-то хранить. Притом хранить нужно так, чтобы «лишние глаза» эти пароли не видели. Для реализации функции создания и хранения паролей была создана эта программа. Для генерирования паролей программа использует отдельный класс. Список паролей представляет собой таблицу, из которой, по нажатию на определённую ячейку, можно скопировать данные в буфер обмена. Для доступа к таблице со своими паролями требуется запомнить только одну комбинацию логина и пароля, что упрощает жизнь, так как остальные пароли помнить не обязательно, а можно брать их прямиком из программы.
В итоге выполнения курсовой работы были получены следующие основные результаты и выводы:
• Обоснована целесообразность и актуальность разработки системы хранения и генерации паролей;
• Изучена предметная область вопроса, рассмотрены существующие решения проблемы;
• Рассмотрены и изучены существующие аналоги системы, конкретизированы данные технического задания;
• Разработана структура системы в целом и отдельных модулей в частности;
• Разработаны и описаны рабочие алгоритмы системы;
• Разработана структура базы данных, используемой системой;
• Разработан интерфейс пользователя.
1. Джепикс Филипп, Троелсен Эндрю Язык. Программирования C# 7 и платформы .NET и .NET Core. – Вильямс, 2018. – 1328 с.
2. Скит Джон. C# для профессионалов. Тонкости программиро-вания. – Вильямс, 2019. – 608 с.
3. Мэтью Мак-Дональд. WPF: Windows Presentation Foundation в .NET 4.5 с примерами на C# 5.0 для профессионалов. – Вильямс, 2013. – 1024 с.
4. Стиллмен Эндрю, Грин Дженнифер. Изучаем C#. – СПБ: Пи-тер, 2013. – 696 с.
5. Чарльз Петцольд. Программирование для Microsoft Windows 8. 6-е изд. – СПБ: Питер, 2014. – 1008 с.
6. Джуст Виссер. Разработка обслуживаемых программ на языке С#. - ДМК Пресс, 2016. – 194 с.
7. Алексей Васильев. Программирование на С# для начинающих. Особенности языка. – Эксмо, 2018. – 530 с.