一、凯撒密码
凯撒密码是古罗马凯撒大帝用来对军事情报进行加密的算法,它的原理是:
采用替换方法将信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即循环左移3位,对应关系如下:
原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文:DEFGHIJKLMNOPQRSTUVWXYZABC
原文字符P其密文字符C满足以下条件:
C=(p+3) mod 26
解秘方法:
P=(C-3) mod 26
例1:加密
ptxt=input("请输入明文:")#接受用户输入
for p in ptxt:#遍历用户输入
if "a" <= p <= "z":#对小写字母进行处理
print(chr(ord("a")+(ord(p)-ord("a")+3)%26),end='')#加密
elif "A" <= p <= "Z":#对大写字母进行处理
print(chr(ord("A") + (ord(p) - ord("A") + 3) % 26), end='')#加密
else:输出字母以外的字符
print(p,end='')
输出结果为:
请输入明文:I have just received a letter from my brother Tim.
L kdyh mxvw uhfhlyhg d ohwwhu