就当为CSDN这方面的python开源做点贡献哈哈哈
移位密码
- 算法原理
- python代码
#移位密码
class ShiftCipher:global dd=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’)并对得到的密文解密: