Шифр цезаря на Python

Шифр Цезаря — это один из самых простых и старейших методов шифрования. Он был изобретен в Древнем Риме и назван в честь Гая Юлия Цезаря, который использовал его для обмена секретными сообщениями со своими генералами.

Что такое шифр цезаря

Шифр Цезаря заключается в замене каждого символа в тексте на другой символ, находящийся на некотором фиксированном расстоянии в алфавите. Например, если расстояние равно 3, то буква «A» будет заменена на букву «D», буква «B» будет заменена на букву «E» и т.д.

Пример шифра цезаря на Python

Шифр Цезаря можно легко реализовать на Python. Для этого нам понадобится функция, которая принимает в качестве аргументов текст для шифрования и число, обозначающее расстояние для сдвига. Например, вот простая функция для шифрования с помощью шифра Цезаря:

def caesar_cipher(text, shift):
    cipher_text = ""
    for char in text:
        if char.isalpha():
            num = ord(char)
            num += shift
            if char.isupper():
                if num > ord('Z'):
                    num -= 26
                elif num < ord('A'):
                    num += 26
            elif char.islower():
                if num > ord('z'):
                    num -= 26
                elif num < ord('a'):
                    num += 26
            cipher_text += chr(num)
        else:
            cipher_text += char
    return cipher_text
# Пример использования
text = "Hello World!"
shift = 3
print(caesar_cipher(text, shift))
# Результат: Khoor Zruog!

Полный код шифрования Цезаря на Python

def ceasar_encrypt(plaintext, key):
    ciphertext = ""
    for char in plaintext:
        if char.isalpha():
            num = ord(char)
            num += key
            if char.isupper():
                if num > ord('Z'):
                    num -= 26
                elif num < ord('A'):
                    num += 26
            elif char.islower():
                if num > ord('z'):
                    num -= 26
                elif num < ord('a'):
                    num += 26
            ciphertext += chr(num)
        else:
            ciphertext += char
    return ciphertext
plaintext = input("Enter the text to be encrypted: ")
key = int(input("Enter the key: "))
ciphertext = ceasar_encrypt(plaintext, key)
print("Ciphertext:", ciphertext)

  Лесенка на Python
Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Python для начинающих
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x