Шифр Цезаря на Python
Шифр Цезаря
Шифр Цезаря - это метод шифрования, который использует сдвиг букв в алфавите. Он был назван в честь римского императора Юлия Цезаря, который использовал этот метод для защиты своих секретных сообщений. В этом методе каждая буква алфавита сдвигается на определенное число позиций вправо или влево. Например, при сдвиге на 3 позиции, буква "а" станет "г", буква "б" - "д" и так далее.
Реализация шифра Цезаря на языке программирования Python
Давайте рассмотрим реализацию шифра Цезаря на языке программирования Python. Вот пример кода:
def caesar_cipher(text, shift):
result = ""
for char in text:
if char.isalpha(): # проверяем, является ли символ буквой
if char.islower(): # проверяем, является ли буква строчной
result += chr((ord(char) - 97 + shift) % 26 + 97) # сдвигаем букву и добавляем к результату
else: # если буква заглавная
result += chr((ord(char) - 65 + shift) % 26 + 65) # сдвигаем букву и добавляем к результату
else: # если символ не является буквой, оставляем его без изменений
result += char
return result
text = "Пример текста для шифрования"
shift = 3
encrypted_text = caesar_cipher(text, shift)
print("Зашифрованный текст:", encrypted_text)
decrypted_text = caesar_cipher(encrypted_text, -shift) # расшифровываем текст, сделав обратный сдвиг
print("Расшифрованный текст:", decrypted_text)
В этом коде определена функция caesar_cipher, которая принимает текст и сдвиг в качестве параметров. Внутри функции происходит итерация по каждому символу текста. Если символ является буквой, то происходит сдвиг символа на нужное количество позиций. При этом учитывается регистр буквы. Если символ не является буквой, он остается без изменений. Зашифрованный текст затем возвращается из функции.
После определения функции, мы задаем исходный текст, в данном случае "Пример текста для шифрования", и сдвиг равный 3. Мы передаем эти значения в функцию caesar_cipher и присваиваем результат переменной encrypted_text. Затем мы выводим зашифрованный текст на экран.
Для расшифровки текста мы просто вызываем функцию caesar_cipher с отрицательным сдвигом (-shift), чтобы вернуться к исходному тексту. Расшифрованный текст также выводится на экран.
Это пример простой реализации шифра Цезаря на языке Python. В реальных приложениях для защиты данных рекомендуется использовать более сложные методы шифрования.