怎么用Python代码实现一个简单的凯撒加密算法
导读:本文共1936.5字符,通常情况下阅读需要6分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要:希望大家仔细阅读,能够学有所成!代码:importstringdefalphabet1():"""生成字母表的方法1"""letter_list=['a','b','c','d','e','f','g','h&... ...
目录
(为您整理了一些要点),点击可以直达。希望大家仔细阅读,能够学有所成!
alphabet1/2/3/4是不同的生成字母表的小函数。从通用的角度来看,alphabet4直接使用python内置的模块,就可以将小写的英文字母获得。但需要注意的是,string.ascii_lowercase返回的是一个字符串,而不是一个列表,所以要用list函数再做一次切割,从而形成字母列表。
shift函数是一个通用的对列表进行循环移位的函数。使用python的切片方法完成一个漂亮而容易理解的实现,但不是效率最高的。这个函数可以列表左移,也可以右移。右移时key为负数。
encoder函数是真正的加密算法,输入字符串后,使用列表推导式,先找出在正常字母表中字符的位置索引,然后在平移后的字母表中找到对应的字符,最后再将所有的字符通过join()函数合成一个字符串返回。
由于现有的字母表没有空格的存在,所以加密的字符串只能够是连续的无打印符的字母组合。如果想要对空格加密,可以将空格加入到alphabet中,再形成对应的平移表。再进一步讲,如果把汉字也放到字母表中,理论上也可以对中文信息进行加密,原理是一样的,大家可以自行实现。
代码中没有实现解密,实现起来非常容易。
怎么用Python代码实现一个简单的凯撒加密算法的详细内容,希望对您有所帮助,信息来源于网络。