凯撒密码(python如何实现凯撒密码)

发布时间:2025-12-10 22:51:24 浏览次数:1

在密码学中,凯撒密码(或称恺撒加密、恺撒变换、变换加密)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。恺撒密码通常被作为其他更复杂的加密方法中的一个步骤,例如维吉尼亚密码。恺撒密码还在现代的ROT13系统中被应用。但是和所有的利用字母表进行替换的加密技术一样,恺撒密码非常容易被破解,而且在实际应用中也无法保证通信安全。

尽管是最简单的加密技术,但那该怎么在python中如何现实呢?

代码如下:

defask():whileTrue:print("Welcometoyoucoming!")print("youcanchoosemode:encrypt(e)ordecrypt(d)")#有解密和加密模式print("Ifyouchooseencrypt,youcanlockthemessage!")#加密提示print("Ifyouchoosedecrypt,youcanunlockthemessage!")#解密提示print("Ifyouwannaexit,input'q'!!")#退出提示mode=input("choose:").lower()#将输入的模式进行变换(从大写变小写,小写部分不变)ifmodein'encryptedecryptdq'.split():#当模式是被要求的encrypte(加密模式)decryptd(解密模式)q(退出)时进行下一步操作#print(mode)#打印输入的模式returnmode#将mode的值作为返回值else:print('Pleaseinputrightoption!!')#输出提示defgetKey(mode):key=0#设置默认的keywhilekey<=0orkey>=26:#限制key的范围在(1-25以内的数)try:#这里进行异常处理,将非整数类型的输入进行错误提示打印key=int(input("Pleaseinputyourkey:(1-26)"))except:print("Pleaseinputcorrectnumber!!")#对解密的密匙进行变换ifmode=='d'ormode=='decrypt':key=-keyreturnkeydefgetMessage(key):#输入信息whileTrue:informetion=input("Pleaseinputmessage!!")#输入要解密或者加密的信息ifinformetion.isalpha():#判断输入的字符串是否为纯字母breakelse:print("Pleaseinputcontinuouscharacter!!!")#输错提示message=''#设置输出的初始值forxininformetion:#将输入信息里的进行逐一字母加密/解密num=ord(x)#将单一字符通过ascii表进行转换,将字母转换为数字num+=key#加上key的值进行下列运算ifx.isupper():#判断是否是大写字母ifnum>ord('Z'):#对超出ascii对应数值的范围进行处理num-=26print(message)elifnum<ord('A'):num+=26print(message)elifx.islower():#判断是否小写字母ifnum>ord('z'):num-=26elifnum<ord('a'):num+=26message+=chr(num)#将单一字符通过ascii表进行转换,将数字转换为字母returnmessage#返回message的值if__name__=="__main__":#主程序mode=ask()#将ask()返回值存于mode变量中ifmode=='q':#进行退出判断print('welcome!!')else:key=getKey(mode)#将mode变量的值带入getKey函数中运行,运行后将key的值存入到key变量中last=getMessage(key)#将key变量的值带入到getMessage函数中,运行后将message的值存入到last变量中print(last)

看完了这篇文章,相信你对“python如何实现凯撒密码”有了一定的了解,如果想了解更多相关知识,欢迎关注本站行业资讯频道,感谢各位的阅读!

凯撒密码
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477