在密码学中,凯撒密码是一种最简单且最广为人知的加密技术。“凯撒密码”据说是古罗马凯撒大帝用来保护重要军情的加密系统。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推,小写字母和数字也一样处理,其他字符不做任何改变。
import string
def caesar_cipher(text):
"""接收一个字符串为参数,采用字母表和数字中后面第3个字符代替当前字符的方法
对字符串中的字母和数字进行替换,实现加密效果,返回值为加密的字符串。
例如:2019 abc 替换为5342 def """
cipher_dict = {}
for index, letter in enumerate(string.ascii_lowercase):
cipher_dict[letter] = string.ascii_lowercase[(index + 3) % 26]
for index, letter in enumerate(string.ascii_uppercase):
cipher_dict[letter] = string.ascii_uppercase[(index + 3) % 26]
for index, digit in enumerate(string.digits):
cipher_dict[digit] = string.digits[(index + 3) % 10]
# 加密处理
ciphertext = ''
for char in text:
if char in cipher_dict:
ciphertext += cipher_dict[char]
else:
ciphertext += char
return ciphertext
if __name__ == '__main__':
plaintext = input()
print(caesar_cipher(plaintext))