Курсовая работа - (MVC) веб-приложение на основе стека технологий ASP.NET для шифрования и дешифрования текста с помощью шифра Виженера. Решение содержит проект с автоматическими юнит-тестами для проверки работы системы шифрования (Encoder) и контроллера (HomeController).
- Перечисление
EncodingLanguage
- язык шифрования/дешифрования. - Класс
Encoder
содержит в себе всю логику шифрования. Конструктор принимает ключ (строка, по умолчанию - "скорпион") и язык шифрования/дешифрования (EncodingLanguage, по умолчанию - русский). Для работы предоставляет два метода: string Encode(string text) и string Decode(string text), отвечающие за шифрование и дешифрование текста соответственно. - Класс
EncodingOperation
- основная модель программы, содержит информацию об одной операции шифрования/дешифрования. - Представление
Main.cshtml
- представление основной страницы приложения, отвечающее за отображение операций шифрования/дешифрования и позволяющее вводить данные для новых операций. - Класс
HomeController
- контроллер, работающий с моделью EncodingOperation и представлением Main.cshtml. Также содержит метод DownloadFile, отвечающий за скачивание файла с результатом шифровки/дешифровки тескта. - Абстрактный класс
FileReader
, наследники которого отвечают за чтение файлов определенного типа. Содержит статический метод GetFileReader, возвращающий экземпляр настледника для чтения определенного формата файлов, и абстрактный метод string Read(). По умолчанию в программе естьTxtFileReader
иDocxFileReader
, отвечающие за чтение .txt и .docx файлов соответственно. В дальнейшем можно добавлять новые классы-наследники для чтения других файлов.
- Программа позволяет выбрать язык шифруемого текста (русский или английский, также учтена возможность добавления других языков в дальнейшем) (по умолчанию - русский).
- Программа позволяет выбрать режим работы: шифрование или дешифрование (по умолчанию - шифрование).
- Программа предоставляет возможность ввода ключа шифрования на выбранном языке (длиной не более 20 знаков).
- Программа позволяет ввести текст для шифрования/дешифрования (не более 1000 символов) или загрузить файл с текстом в формате .txt или .docx. После загрузки содержимое файла отображается в поле ввода, текст можно редактировать. Символы, не относящиеся к алфавиту выбранного языка, будут оставлены без изменений.
- Программа выводит результат шифрования/дешифрования в отдельное поле. Результат работы программы можно скачать в виде текстового файла в формате .docx (название и директорию сохранения можно выбрать, если в настройках браузера установить флаг "Спрашивать, что делать с загружаемым файлом", после чего нажать на кнопку "Сохранить файл как").
Выполнил Алексеев Антон
P.S. Который, к слову, очень хочет попасть на стажировку))