凯撒密码的原理:计算并输出偏移量为3的凯撒密码的结果
注意:密文是大写字母,在变换加密之前把明文字母都替换为大写字母
def casar(message):
# *************begin************#
message1=message.upper() #把明文字母变成大写
message1=list(message1) #将明文字符串转换成列表
list1=[]
for i in range(len(message1)):
if message1[i]==' ':
list1.append(message1[i]) #若为空格不用移动
elif ord(message1[i]) <= 90-3+1: #A-X右移三位
list1.append(chr(ord(message1[i]) + 3))
result = ''.join(list1) #列表转换成字符串
else:
list1.append(chr(ord(message1[i]) - (26-3))) #Y和Z回到A、B
result = ''.join(list1)
print(result)
# **************end*************#
def main():
message = input()
casar(message)
if __name__=='__main__':
main()
测试输入:Guet
预期输出:JXHW
测试输入:information security
预期输出:LQIRUPDWLRQ VHFXULWB
凯撒密码原理:根据输入的加解密模式和密钥对消息进行加解密。
注意:如果是加密,输出的密文是大写字母,如果是解密,按照凯撒解密后,转换为小写后,输出解密后的明文.
def casar(mode,message,key):
# *************begin************#
if mode==1: #加密
message1 = message.upper()