转置密码的解密
在本章中,您将学习转置密码的解密步骤。
代码
查看以下代码,以便更好地理解转置密码解密。消息的密码文本转置密码,密钥为 6,获取到的结果为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()
说明
密码文本和给定的密钥是解码或使用反向技术解密密码文本的两个作为输入参数的值,通过将字符置于列格式中并以水平方式读取它们。
您可以将字母放在一列格式中,然后使用以下代码段组合或连接在一起 −
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)
输出
解密转置密码的程序代码给出以下输出 −
广告