Аналогичное сообщение в Pull_1
В проекте реализован функционал для шифрования и дешифрования файлов на английском языке шифрами Цезаря, Вернама и Виженера, а также для взлома шифра Цезаря методом частотного анализа.
В проекте шифровальщик в файле make_parse лежит класс для ввода и вывода данных. В файле globals константные глобальные значения, в файле crypt основной функционал.
Crypt
file_check - проверяет корректность ввода input и output файлов.
key_check - проверяет корректность ввода файла-ключа для шифра Вернама
Остальные функции именованы в формате <название_шифра_encode/decodeназвание_шифра>.
caesar_encode/decode
Получает на вход файлы input и output (input - обязательно содержит в себе сообщение, output - обязательно пуст во избежание потери данных) и ключ - числовое значение.
vigenere_encode/decode
Аналогично input/output файлы и string ключ.
vernam_encode/decode
Аналогично input/output файлы и key_file - текстовый файл, содержащий в себе ключ. Длина сообщения в input и ключе должны совпадать, иначе исключение.
analyses
производит взлом сообщения, закодированного шифром Цезаря. Работает корректно при достаточно больших входных данных
Для шифрования/дешифрования небходимо в командной строке прописать сообщение:
python main.py <действие(encode/decode)> --cipher <название шифра(caesar/vigenere/vernam)> --key <ключ> --input-file <файл для чтения> --output-file <файл для записи>
либо если стоит задача взлома шифра Цезаря методами частотного анализа небходимо прописать команду:
python main.py < analyse > --input-file <файл для чтения> --output-file <файл для записи>
-
Notifications
You must be signed in to change notification settings - Fork 0
makemebright/python_project_1
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published