733.89K

Презентация1.pptx Баишев Сулустан 10 а

1.

Индивидуальный проект
«Разработка приложения “Генератор паролей” на
языке Python »
Выполнил:
Баишев Сулустан 10a
Руководитель:
Софронеева М.С.

2.

Цель и задача работы:
углубиться в Python, изучить
модули, разработав
приложение для генерации
паролей
Актуальность: в условиях
роста числа кибератак и
увеличения количества
онлайн-сервисов создание
надежных паролей
становится проблемой

3.

Выбор языка
программирования
В Python уже есть всё
необходимое для
создания приложения
с окном. Встроенная
библиотека tkinter поз
воляет делать кнопки,
надписи, поля ввода.
Модуль random отвеч
ает за случайный
выбор символов.
Модуль string даёт
готовые наборы букв
и цифр.

4.

Используемые
инструменты
•Tkinter
•Random
•String
•PyInstaller

5.

Сравнение
существующих
генераторов паролей
Онлайнгенераторы
(2ip.ru, pass
wordgenerat
or.net)
Вебсервис
Доступны с
любого
устройства,
не требуют
установки
Как видно из
таблицы,
большинство
существующих
решений имеют
определённые
недостатки.
Требуют
подключени
як
интернету,
риск
перехвата
данных при
передаче
KeePass
Десктопное Бесплатный,
приложение мощный, с
(локальное) открытым
кодом,
работает без
интернета
Сложный
интерфейс
для
обычного
пользователя
, избыточный
функционал
Bitwarden
Кроссплат
форменны
й
(менеджер
паролей)
Требует
регистраци
ии
облачного
аккаунта
Есть
встроенный
генератор,
синхронизаци
я между
устройствами

6.

Практическая часть.
Разработка алгоритма случайной генерации символов
Основой генератора паролей является алгоритм случайного
выбора символов из заданного пользователем набора. Алгоритм
реализован на языке Python с использованием встроенных
модулей random, string, tkinter.
Скриншот кода

7.

Расчёт времени взлома
Скриншот кода отвечающего за расчет
Для оценки стойкости сгенерированного
пароля используется формула:
T = A^L / V
A — размер алфавита (количество
возможных символов);
L — длина пароля;
V — скорость перебора (в данной
программе принята равной
1 000 000 000 паролей в секунду, что
достижимо при атаке на хэш NTLM с
использованием видеокарты класса RTX
3060)

8.

Создание графического интерфейса пользователя
Назначение
Назначение
Создать окно
Tk(), title(), geome
try(), config()
Создать рамку
Frame(), pack()
Создать надпись
Label(), pack()
Создать кнопку
Button(), pack()
Создать
радиокнопку
Radiobutton(), pac
k()
Вывести текст
Text(), delete(), ins
ert()
Запустить окно
mainloop()
Фрагмент из кода

9.

Структура окна
Окно программы имеет размер
400×600 пикселей, цвет фона — светлосерый (#f0f0f0). Внутри расположена
белая рамка с отступами, в которой
находятся все элементы управления.
Заголовок — текст «Генератор паролей»
вверху окна.
Выбор длины пароля — две кнопки «+»
и «-» с цифрой между ними. При
нажатии на кнопки длина
увеличивается или уменьшается от 4 до
30 символов.
•Блок выбора типа символов — 3
радиокнопки: «буквы»,
«буквы+цифры»,
«буквы+цифры+символы»
•Блок выбора количества паролей — 2
кнопки «+» и «-» с цифрой между ними
Количество можно менять от 1 до 10
•Кнопка запуска — «Сгенерировать»
•Поле вывода результатов — текстовое
поле, куда записываются
сгенерированные пароли и под каждым
примерное время взлома

10.

Тестирование
приложения и
само приложение
После разработки
приложения было
проведено тестирование
для проверки
корректности работы всех
функций.
Представлен скриншот
программы после
генерации трёх паролей
длиной 12 символов с
использованием всех
типов символов.

11.

Заключение
В ходе работы над индивидуальным проектом была достигнута
поставленная цель — я углубился в язык программирования и разработал
локальное приложение «Генератор паролей» на языке Python.
В теоретической части были объяснены выбор в пользу Python, принцип
работы модулей и их значение, проведён сравнительный анализ
существующих генераторов паролей.
В практической части разработан алгоритм случайной генерации символов,
реализован графический интерфейс с использованием библиотеки tkinter,
проведено тестирование, подтвердившее корректную работу всех функций.
Гипотеза подтвердилась: в ходе работы было разработано приложение, в
процессе чего были изучены модули tkinter, random ,string.
Разработанное приложение может использоваться любым пользователем
ПК для быстрого создания стойких паролей без доступа к интернету, что
исключает риск перехвата данных.
English     Русский Rules