📜  使用Python密码术-仿射密码

📅  最后修改于: 2020-11-08 08:34:39             🧑  作者: Mango


仿射密码是乘法密码和凯撒密码算法的结合。仿射密码的基本实现如下图所示:

仿射密码的基本实现

在本章中,我们将通过创建仿射密码来实现仿射密码,该类包括两个用于加密和解密的基本功能。

您可以使用以下代码来实现仿射密码-

class Affine(object):
   DIE = 128
   KEY = (7, 3, 55)
   def __init__(self):
      pass
   def encryptChar(self, char):
      K1, K2, kI = self.KEY
      return chr((K1 * ord(char) + K2) % self.DIE)
        
   def encrypt(self, string):
      return "".join(map(self.encryptChar, string))
   
   def decryptChar(self, char):
      K1, K2, KI = self.KEY
      return chr(KI * (ord(char) - K2) % self.DIE)
   
   def decrypt(self, string):
      return "".join(map(self.decryptChar, string))
        affine = Affine()
print affine.encrypt('Affine Cipher')
print affine.decrypt('*18?FMT')

输出

实现仿射密码时,可以观察到以下输出-

仿射

输出显示纯文本消息Affine Cipher的加密消息和显示为输入abcdefg的消息的解密消息