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)
本文介绍了一种使用Python实现凯撒密码加密与解密的方法。凯撒密码是一种古老的加密技术,通过将每个字母向前移动固定位置来实现加密。文中详细展示了如何使用Python的maketrans()函数快速构建字符映射表,并通过translate()函数完成加密过程。
657

被折叠的 条评论
为什么被折叠?



