gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле...
Transcript of gauro-riacro.rugauro-riacro.ru/.../konkursy/2019/program/11/pzapiska.docx · Web viewВ цикле...
Пояснительная записка.Программа была создана для хранения информации об аккаунтах пользователя в зашифрованном виде. Информация хранится в файле с названием “Data”, который хранится в директории программы (при переносе программы в другую директорию этот файл следует переносить вместе с ней) и создаётся автоматически при первом входе.
Информация шифруется по средствам шифра Виженера и шифра Цезаря.
В функцию передаётся список объектов класса Account. В цикле foreach происходит шифрование имени, логина, пароля и дополнительной информации каждого из переданных в функцию аккаунтов. На выход функция выдаёт список с объектами класса Account, но в котором поля объектов уже подверглись шифрованию.
Каждый символ шифруется сначала шифром Цезаря (строка 98), а потом шифром Виженера (строка 99). В функции так же присутствует ещё один - третий тип шифрования, но по техническим причинам от него пришлось
отказаться (переменная IsAbleToMonoAlphabitCrypt по умолчанию принимает значение false).
Информация записывается в файл в формате Json (для работы с которым к проекту подключена отдельная библиотека Newtonsoft . Json ).
Считывается информация также с помощью библиотеки Newtonsoft . Json
Расшифровка информации происходит в финкции Decrypt класса Crypter (к которому принадлежат и Encrypt функции).
Пользовательское взаимодействие.
После запуска приложения нам нужно ввести число сдвига (упомянутое здесь, как PIN-код) и Пароль, затем нажать на кнопку “Вход”.
Стилизация кнопок и полей ввода была выполнена на языке разметки XAML (т.к. проект был написан на платформе WPF ).
Шаблон стилизации кнопок (#8):
Шаблон стилизации полей (#9):
При вводе символов в поле PIN -кода происходит проверка введённого символа на то, является ли он цифрой или нет.
Т.к. вводимое число может быть отрицательным, то также производится проверка вводимых знаков минус.
По нажатии кнопки “Вход” происходит считывание информации из файла “ Data ” (если он существет) и добавление её в таблицу ( DataGrid ).
После нажатия кнопки “Войти” активизируется кнопка “Добавить” и появляется кнопка “Сохранить”.
По нажатии кнопки добавить появляется форма ввода данных.
По заполнении всех нужных полей нажмите кнопку “Создать”.
Информация передаётся в головную форму.
Затем добавляется в таблицу и список с аккаунтами.
При выделении нужной строки становятся активными кнопки “Изменить” и “Удалить”.
При нажатии кнопки “Изменить” появится форма ввода данных, в которой возможно будет изменить информацию.
По нажатии кнопки “Сохранить” обновлённая информация появится в таблице.
Клик по кнопке сохранения:
Изменение информации в таблице и списке Аккаунтов:
После клика на кнопку “Удалить” аккаунт удаляется из таблицы и списка аккаунтов.
По нажатии на кнопку “Сохранить” происходит шифрование и сохранение данных.