
轉置密碼的解密
在本章中,您將學習轉置密碼的解密步驟。
程式碼
檢視以下程式碼,以便更好地理解轉置密碼解密。訊息的密碼文字轉置密碼,金鑰為 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)
輸出
解密轉置密碼的程式程式碼給出以下輸出 −

廣告