1>利用python中的maketrans( )函数实现“凯撒密码”
凯撒密码:凯撒密码是古罗马的凯撒大帝用来对军事情报进行加密的方法,它采用了替换方法对信息中的每一个英文字符替换为在字母表序列中该字符后面第三个字符,对应关系如下:
原文:a b c d e f g hi j k l m n o p q r s t u v w x y z
密文: d e f g h i jk l m n o p q r s t u v w x y z a b c
原文字符P,其密文字符C满足如下条件:
C=(P+3)mod 26
解密方法反之,满足:
P=(C-3)mod 26
实现此算法,不重复造轮子了。有现成的,哈哈。最简单的就是用python的maketrans() 函数。python3.X 以后不用在“from string import maketrans”导入该函数功能了。
str.makestrans(a,b) 参数a是输入字符,b是输出字符。maketrans()函数构建输入与输出的映射表。a,b都是字符串,长度相同,一一对应。构建好映射关系后,用translate(参数)函数进行映射对应翻译。参数是由maketrans()生成的映射表。具体实现。
instr = "abcdefghigklmnopqrstuvwxyz" #原文
outstr = "defghigklmnopqrstuvwxyzabc" #密文
transtable = str.maketrans(instr,outstr) #形成映射表
str1 = "abc" #待翻译字符串
aftertrans = str1.translate(transtable) #translate()函数根据映射表翻译字符串
print(aftertrans)