目录

换位密码的解密(Decryption of Transposition Cipher)

在本章中,您将学习解密转置密码的过程。

Code

请查看以下代码,以便更好地理解解密转置密码。 将密钥为6消息Transposition Cipher的密文提取为Toners raiCntisippoh.

import math, pyperclip
def main():
   myMessage= 'Toners raiCntisippoh'
   myKey = 6
   plaintext = decryptMessage(myKey, myMessage)
   print("The plain text is")
   print('Transposition Cipher')
def decryptMessage(key, message):
   numOfColumns = math.ceil(len(message)/key)
   numOfRows = key
   numOfShadedBoxes = (numOfColumns * numOfRows) - len(message)
   plaintext = float('') * numOfColumns
   col = 0
   row = 0
   for symbol in message:
      plaintext[col] += symbol
      col += 1
      if (col == numOfColumns) or (col == numOfColumns - 1 and row >= numOfRows - numOfShadedBoxes):
         col = 0 row += 1 return ''.join(plaintext)
if __name__ == '__main__':
   main()

说明 (Explanation)

密文和所提到的密钥是作为输入参数的两个值,用于通过以列格式放置字符并以水平方式读取它们来以反向技术解密或解密密文。

您可以以列格式放置字母,然后使用以下代码将它们组合或连接在一起 -

for symbol in message:
   plaintext[col] += symbol
   col += 1
   if (col == numOfColumns) or (col == numOfColumns - 1 and row >= numOfRows - numOfShadedBoxes):
   col = 0
   row += 1
return ''.join(plaintext)

输出 (Output)

用于解密转置密码的程序代码给出以下输出 -

解密换位
↑回到顶部↑
WIKI教程 @2018