Python 加密 – 仿射密碼
仿射密碼是乘性密碼和凱撒密碼演算法的組合。仿射密碼的基本實現如下圖所示 −
在本章中,我們將透過建立與其對應的類來實現仿射密碼。該類包含加密和解密的兩個基本功能。
程式碼
您可以使用以下程式碼來實現仿射密碼 −
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')
輸出
當您實現仿射密碼時,可以看到以下輸出 −
輸出顯示了純文字訊息 仿射密碼的加密訊息以及作為輸入傳送的訊息 abcdefg的解密訊息。
廣告