Шифр Цезаря — один из древнейших шифров. Я сам пробовал использовать этот шифр и могу поделиться своим личным опытом.
При шифровании каждый символ заменяется другим, отстоящим от него в алфавите на фиксированное число позиций. Например, если мы выбираем ключ 3, то каждая буква заменяется на букву, расположенную в алфавите на 3 позиции вперед.
Для иллюстрации возьмем фразу ″Съешь же ещё этих мягких французских булок, да выпей чаю″. Если мы применим шифр Цезаря с ключом 3٫ то получим фразу ″Фэзыя йз зьи ахлш пвёнлш чугрщцкфнлш дцосн٫ жг еютзм ъгб″. Видно٫ что каждая буква была заменена на ту٫ которая расположена на 3 позиции вперед в алфавите.
Теперь перейдем к написанию кода на языке программирования C . Ваша задача состоит в том, чтобы зашифровать текстовый файл, используя шифр Цезаря, и записать результат в другой файл.Вначале необходимо открыть файл с исходным текстом и прочитать его содержимое. Затем вы можете использовать цикл для прохода по каждому символу текста и применить к нему шифрование с помощью ключа. Для этого можно воспользоваться операцией сложения для символов.Вот пример кода на C , который решает эту задачу⁚
cpp
#include
#include
void encryptFile(const std⁚⁚stringn inputFile, const std⁚⁚stringn outputFile, int key) {
std⁚⁚ifstream inFile(inputFile);
std⁚⁚ofstream outFile(outputFile);
if (inFile.is_open nn outFile.is_open) {
char c;
while (inFile.get(c)) {
if (isalpha(c)) {
if (islower(c))
c ‘a’ (c ⸺ ‘a’ key) % 26;
else if (isupper(c))
c ‘A’ (c ─ ‘A’ key) % 26;
}
outFile << c;
}
inFile.close;
outFile.close;
std⁚⁚cout << ″Файл успешно зашифрован.″ << std⁚⁚endl;
} else {
std⁚⁚cout << ″Ошибка при открытии файлов.″ << std⁚⁚endl;
}
}
int main {
std⁚⁚string inputFile ″input.txt″; // имя исходного файла
std⁚⁚string outputFile ″output.txt″; // имя файла, куда будет записан зашифрованный текст
int key 3; // ключ шифрования
encryptFile(inputFile, outputFile, key);
return 0;
}
В данном примере наши файлы с исходным и зашифрованным текстом называются ″input.txt″ и ″output.txt″ соответственно. Ключ шифрования равен 3. Вы можете заменить эти значения на свои.
После выполнения программы в новом файле ″output.txt″ будет записан зашифрованный текст. Если возникнут ошибки при открытии файлов, вы увидите соответствующее сообщение.
Вот так я с помощью шифра Цезаря зашифровал текстовый файл, используя язык программирования C . Этот метод шифрования предоставляет неплохую защиту данных и может быть использован в различных сферах.