移位密码及其python实现

就当为CSDN这方面的python开源做点贡献哈哈哈

移位密码

  • 算法原理
    移位密码及其python实现

  • python代码
#移位密码
class ShiftCipher:
    global d
    d=dict(zip(''.join(chr(i) for i in range(97,123)),list(range(0,26))))#字母表
    def __init__(self,k:int):
        self.k=k;#k为移位数
        
def encrypt(self,m:str):#加密
    m=m.replace(' ','')
        #明文m,字符串形式
        mn=[]#储存明文模26余数
        for mv in m:mn.append(d[mv])
        for i in range(0,len(mn)):mn[i]=(mn[i]+self.k)%26#移位
        s=''
        for n in mn:s+=str(list(d.keys())[list(d.values()).index(n)])
        print('The ciphertext is:',s.upper())
            
    def decrypt(self,m:str):#解密
        #密文m,字符串形式
        m=m.lower()
        mn=[]#储存密文模26余数
        for mv in m:mn.append(d[mv])
        for i in range(0,len(mn)):mn[i]=(mn[i]-self.k)%26#逆移位
        s=''
        for n in mn:s+=str(list(d.keys())[list(d.values()).index(n)])
        print('The plaintext is:',s.upper()) 

  • 实现过程
    自定义移位密码位移数(5)加密一段英文(‘informationsecurityandcryptography’)并对得到的密文解密:
    移位密码及其python实现

上一篇:SpringMVC到底是如何处理请求的?


下一篇:使用MyBatis只要三个步骤;什么是事物