开发手册 欢迎您!
软件开发者资料库

换位密码的解密

使用Python进行密码转换密码解密 - 使用Python从简单而简单的步骤学习密码学,从基本到高级概念,包括概述,双强度加密,Python概述和安装,反向密码,凯撒密码,ROT13算法,转置密码,加密转置密码的解密,转置密码的解密,文件加密,文件解密,Base64编码和解码,XOR处理,乘法密码,仿射密码,黑客单字母密码,简单替换密码,简单替换密码测试,简单替换密码解密,密码学的Python模块,了解Vignere密码,实现Vignere密码,一次填充密码,一次填充密码的实现,对称和非对称密码,理解RSA算法,创建RSA密钥,RSA密码加密,RSA密码解密,黑客攻击RSA密码。

在本章中,您将学习解密转置密码的步骤.

代码

请注意以下代码以便更好地理解解密转置密码.密码为 6 的消息转置密码的密文被提取为 Toners raiCntisippoh.

import math, pyperclipdef 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 += 1return ''.join(plaintext)

输出

解密转置密码的程序代码给出以下输出;

Decrypting Transposition