优草派  >   Python

Python凯撒密码解密代码怎么写?Python如何实现凯撒密码解密

罗西汉            来源:优草派

凯撒密码是一种广泛应用在各个领域之中的加密算法,而在上一篇文章之中小编已经是给大家介绍过了Python是怎么写凯撒密码加密代码的。那么本文自然是会来介绍相对应的解密代码编写方法,感兴趣的小伙伴可以继续往下阅读哦。

Python凯撒密码解密代码怎么写?Python如何实现凯撒密码解密

一、解密关键

凯撒密码是通过置换字母顺序来实现明文加密的,而它的关键点就在于这个移动的距离是多少,因为它会将整个明文都按照这个距离移动指定的字符数。而只要有了这个字符数,并且往相反的方向移动即可实现凯撒密码解密。

二、解密代码

那么前面几步的操作都是差不多的,定义函数并且设置两个参数,这两个参数需要传入的数据就是解密字符串以及移动的字符数。而在函数内需要通过string模块获取到大写字母、小写字母,以及大小写字母的字符串对象。

然后就是创建循环字母表了,这个字母表的实际作用就是让之前定义好的三个字符串连接起来并移动指定的距离,从而得到首尾相连且可以形成循环的字符串对象,例如1234321这种。

再通过maketrans()方法并传入循环字母表以及未移动距离的字母表创建映射表,这个映射表就是用来实现凯撒密码解密的关键。接着还需要用密文调用translate()方法并传入映射表,这样就可以将密文按照映射表上的顺序指定移动字符数后返回值,详细代码如下:

import string
def kaisa_jiemi(s,k):
    lower=string.ascii_lowercase
    upper=string.ascii_uppercase
    before=string.ascii_letters
    after=lower[k:]+lower[:k]+upper[k:]+upper[:k]
    table=''.maketrans(after,before)
    return s.translate(table)
print("解密后为:",kaisa_jiemi(’ KHOOR zruog’,3))

image.png

以上就是关于“Python凯撒密码解密代码怎么写?Python如何实现凯撒密码解密”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行