介绍
小编给大家分享一下python如何实现凯撒密码,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!
在密码学中,凯撒密码(或称恺撒加密,恺撒变换,变换加密)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。恺撒密码通常被作为其他更复杂的加密方法中的一个步骤,例如维吉尼亚密码。恺撒密码还在现代的ROT13系统中被应用。但是和所有的利用字母表进行替换的加密技术一样,恺撒密码非常容易被破解,而且在实际应用中也无法保证通信安全。
尽管是最简单的加密技术,但那该怎么在python中如何现实呢?
代码如下:
def 问(): ,while 真正的: 打印才能(“Welcome 用你来了!”) 打印才能(“你还要choose mode :, (e),加密或解密(d),),, #有解密和加密模式 打印才能(“If 你choose encrypt ,你还要lock 从而消息!“),#加密提示 打印才能(“If 你choose decrypt ,你还要unlock 从而消息!“),#解密提示 打印才能(“If 你wanna exit ,, input & # 39;提问# 39;! !“),,,,,#退出提示 mode =,才能输入(“选择:“).lower(),,,,,,,, #将输入的模式进行变换(从大写变小写,小写部分不变) if 才能;mode 拷贝& # 39;encrypt e decrypt d 提问# 39;.split():,,,,, #当模式是被要求的encrypt e(加密模式)decrypt d(解密模式),q(退出)时进行下一步操作 ,,#打印(模式),,,,,,,,,,,#打印输入的模式 ,,return mode ,,,,,,,,,,, #将模式的值作为返回值 其他的才能: ,才能打印(& # 39;Please input right 选项! ! & # 39;),,,,,#输出提示 def getKey(模式): ,key =, 0,,,,,,,,,,,,,,, #设置默认的关键 ,while key & lt;=, 0,趁机key 祝辞=,26日:,,,,,,,,,#限制关键的范围在(1 - 25以内的数) 尝试才能:,,,,,,,,,,,,,,#这里进行异常处理,将非整数类型的输入进行错误提示打印 ,,key =, int(输入(“Please  input your 关键:(1-26)“)) 除了才能: ,才能打印(“Please  input correct 数量! !“) ,#对解密的密匙进行变换==,if mode & # 39; d # 39;,趁机mode ==, & # 39;解密# 39;: key 才能=关键 return 关键 def getMessage(重要): ,#输入信息 ,while 真正的: informetion =,才能输入(“Please input 消息! !“),,,,#输入要解密或者加密的信息 if 才能informetion.isalpha():,,,,,,,,, #判断输入的字符串是否为纯字母 ,才能休息 其他的才能: ,才能打印(“Please  input continuous 字符! ! !“),,,#输错提示=,message & # 39; & # 39;,,,,,,,,,,,,, #设置输出的初始值 ,for x  informetion拷贝:,,,,,,,,,,,#将输入信息里的进行逐一字母加密/解密 num 才能=,奥德(x),,,,,,,,,,,, #将单一字符通过ascii表进行转换,将字母转换为数字 num 才能+=,key ,,,,,,,,,,,, #加上关键的值进行下列运算 if 才能x.isupper():,,,,,,,,,,,, #判断是否是大写字母 ,,if num 祝辞,奥德(& # 39;z # 39;):,,,,,,,,,, #对超出ascii对应数值的范围进行处理 ,,,num -=26 ,,,print(消息) ,,elif num & lt;,奥德(& # 39;一个# 39;): ,,,num +=26 ,,,print(消息) elif 才能x.islower():,,,,,,,,,,, #判断是否小写字母 ,,if num 祝辞,奥德(& # 39;z # 39;): ,,,num -=26 ,,elif num & lt;,奥德(& # 39;一个# 39;): ,,,num +=26 message +=,才能装备(num),,,,,,,,,,, #将单一字符通过ascii表进行转换,将数字转换为字母 ,return message ,,,,,,,,,,,, #返回消息的值 ,, if __name__==癬_main__":,,,,,,,,,,, #主程序=,mode 问(),,,,,,,,,,,,,#将问()返回值存于模式变量中==,if mode & # 39;提问# 39;:,,,,,,,,,,,,,#进行退出判断 打印才能(& # 39;欢迎! ! & # 39;) ,其他的: null null nullpython如何实现凯撒密码