x 为要加密的字符, y 为凯撒密常数,则加密后的字符的格式为…( x + y )… y
例如 x =' Bb ’ y =2,则加密后变为‘Dd2’,将’Dd2’这条信息发给队友,他用解密程序能够成功获得' Bb'
你题目的解答代码如下:
import re
def psk(s,n):
li = list(s)
for i,v in enumerate(li):
if v.isupper():
li[i] = chr((ord(v)-ord('A')+n)%26+ord('A'))
if v.islower():
li[i] = chr((ord(v)-ord('a')+n)%26+ord('a'))
return "".join(li)
x = input("请输入一个需要加密的信息:")
y = int(input("请输入秘钥:"))
s2 = psk(x,y)+str(y)
print("加密完的信息为:",s2)
x2, y2 = re.findall(r"^(.+?)(\d+)$",s2)[0]
y2 = 0-int(y2)
s3 = psk(x2,y2)
print("解密完的信息为:",s3)
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!