python实现 古典密码 凯撒密码的加密与解密
实现效果如下图:
# 凯撒密码加密与解密
# author Sundm
string = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
# 密文列表
cipher_text_list = []
# 明文列表
plain_text_list = []
# 凯撒密码加密函数
def encrypt():
cipher = int(input("请输入你的密钥:"))
plaintext = input("请输入你的明文:")
length = len(plaintext)
print("加密后的密文是:")
for i in range(0,length):
cipher_text_list.append(string[string.index(plaintext[i])+cipher])
print(cipher_text_list[i],end="")
# 凯撒密码解密函数
def decrypt():
cipher = int(input("请输入你的密钥:"))
ciphertext = input("请输入你的密文:")
length = len(ciphertext)
print("解密后的明文是:")
for i in range(0,length):
plain_text_list.append(string[string.index(ciphertext[i])-cipher])
print(plain_text_list[i],end="")
def main():
print("##################################")
print(" 凯撒密码加密与解密 ")
print("----------------------------------")
print(" 0. 退出程序 ")
print(" 1. 凯撒密码加密 ")
print(" 2. 凯撒密码解密 ")
while True:
choice = int(input("\n请输入数字进行选择:"))
if choice == 0:
break
elif choice == 1 :
cipher_text_list.clear()
encrypt()
elif choice == 2:
plain_text_list.clear()
decrypt()
else:
print("输入错误,请重新进行输入")
if __name__ == '__main__':
main()
原文链接:https://blog.csdn.net/sdm12345/article/details/106013678