Задание № 3: Шифруемся
Задание на лабораторную работу
Требует создать программу для шифрования текста шифром Цезаря. Текст может быть любым символом из стандартной таблицы ASCII. Запуск программы осуществляется следующим образом:
$ crypt [options] <key> <source> [<dest>] options: -a, --alphabet=<alphabet> alphabet — алфавит для работы алгоритма (по умолчанию содержит буквы из латниского алфавита и цифры: AaBbCc..Zz0..9) -t, --type=<type> type может быть 'encode' или 'decode', по умолчанию — encode -h, --help выводит эту справку key: ключ для шифрования/дешифрования source: исходный файл для шифрования/дешифрования dest: файл, куда будет записан новый, зашифрованный текст. Если не указан, то переписывает source
Таким образом, команда crypt -a "ABC0" -t encode 1 file_to_encode.txt
зашифрует и перезапишет методом Цезаря файл file_to_encode.txt, сдвинув символы ABC0 на 1, где 1 — это ключ. Параметры могут следовать в любой очерёдности. Также должны работать следующие вызовы:
$ crypt 5 my.txt $ crypt -t decode 3 my.txt another.txt $ crypt --type=encode 3 another.txt my.txt $ crypt -a "AaBbCcDd0135" 8 "C:/Program Files/yes.txt" "C:/Program Files/no.txt" $ crypt --help
Следующие вызовы должны сообщать о неправильных введённых данных (напр., отрицательный ключ или несуществующий файл):
$ crypt my.txt $ crypt -9 $ crypt all.txt 1
Следующий вызов приводит к ошибке «Неверно заданы параметры»:
$ crypt -a -t decode 7 my.txt $ crypt -r encode 9 all.txt