gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле...

11
Пояснительная записка. Программа была создана для хранения информации об аккаунтах пользователя в зашифрованном виде. Информация хранится в файле с названием “Data”, который хранится в директории программы (при переносе программы в другую директорию этот файл следует переносить вместе с ней) и создаётся автоматически при первом входе. Информация шифруется по средствам шифра Виженера и шифра Цезаря. В функцию передаётся список объектов класса Account. В цикле foreach происходит шифрование имени, логина, пароля и дополнительной информации каждого из переданных в функцию аккаунтов. На выход функция выдаёт список с объектами класса Account, но в котором поля объектов уже подверглись шифрованию.

Transcript of gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле...

Page 1: gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле foreach происходит шифрование имени, логина, пароля

Пояснительная записка.Программа была создана для хранения информации об аккаунтах пользователя в зашифрованном виде. Информация хранится в файле с названием “Data”, который хранится в директории программы (при переносе программы в другую директорию этот файл следует переносить вместе с ней) и создаётся автоматически при первом входе.

Информация шифруется по средствам шифра Виженера и шифра Цезаря.

В функцию передаётся список объектов класса Account. В цикле foreach происходит шифрование имени, логина, пароля и дополнительной информации каждого из переданных в функцию аккаунтов. На выход функция выдаёт список с объектами класса Account, но в котором поля объектов уже подверглись шифрованию.

Каждый символ шифруется сначала шифром Цезаря (строка 98), а потом шифром Виженера (строка 99). В функции так же присутствует ещё один - третий тип шифрования, но по техническим причинам от него пришлось

Page 2: gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле foreach происходит шифрование имени, логина, пароля

отказаться (переменная IsAbleToMonoAlphabitCrypt по умолчанию принимает значение false).

Информация записывается в файл в формате Json (для работы с которым к проекту подключена отдельная библиотека Newtonsoft . Json ).

Считывается информация также с помощью библиотеки Newtonsoft . Json

Расшифровка информации происходит в финкции Decrypt класса Crypter (к которому принадлежат и Encrypt функции).

Page 3: gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле foreach происходит шифрование имени, логина, пароля

Пользовательское взаимодействие.

После запуска приложения нам нужно ввести число сдвига (упомянутое здесь, как PIN-код) и Пароль, затем нажать на кнопку “Вход”.

Стилизация кнопок и полей ввода была выполнена на языке разметки XAML (т.к. проект был написан на платформе WPF ).

Page 4: gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле foreach происходит шифрование имени, логина, пароля

Шаблон стилизации кнопок (#8):

Шаблон стилизации полей (#9):

При вводе символов в поле PIN -кода происходит проверка введённого символа на то, является ли он цифрой или нет.

Т.к. вводимое число может быть отрицательным, то также производится проверка вводимых знаков минус.

По нажатии кнопки “Вход” происходит считывание информации из файла “ Data ” (если он существет) и добавление её в таблицу ( DataGrid ).

Page 5: gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле foreach происходит шифрование имени, логина, пароля

После нажатия кнопки “Войти” активизируется кнопка “Добавить” и появляется кнопка “Сохранить”.

Page 6: gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле foreach происходит шифрование имени, логина, пароля

По нажатии кнопки добавить появляется форма ввода данных.

По заполнении всех нужных полей нажмите кнопку “Создать”.

Информация передаётся в головную форму.

Page 7: gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле foreach происходит шифрование имени, логина, пароля

Затем добавляется в таблицу и список с аккаунтами.

При выделении нужной строки становятся активными кнопки “Изменить” и “Удалить”.

При нажатии кнопки “Изменить” появится форма ввода данных, в которой возможно будет изменить информацию.

Page 8: gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле foreach происходит шифрование имени, логина, пароля

По нажатии кнопки “Сохранить” обновлённая информация появится в таблице.

Клик по кнопке сохранения:

Page 9: gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле foreach происходит шифрование имени, логина, пароля

Изменение информации в таблице и списке Аккаунтов:

После клика на кнопку “Удалить” аккаунт удаляется из таблицы и списка аккаунтов.

По нажатии на кнопку “Сохранить” происходит шифрование и сохранение данных.