以下是代码中存在的问题及解决方法:

  1. 在函数定义时,参数缺少默认值,导致调用函数时必须传递参数,否则会出现参数不足错误。

解决方法:给参数设置默认值。

  1. 在置换密码和代换密码的单选按钮中,command参数传递了函数名,而应该传递函数名加上参数。

解决方法:将函数名替换为lambda表达式,将参数作为lambda表达式的参数传递。

  1. 在置换密码和代换密码的单选按钮中,var参数未设置,导致无法获取用户选择的加密方式。

解决方法:设置var参数,并将var参数作为Radiobutton的variable参数传递。

  1. 在铁路围栏密码加密函数中,key参数应该是整数而不是字符串。

解决方法:在调用函数时将key参数转换为整数。

  1. 在密钥矩阵密码加密函数中,当明文长度不足时,需要在明文末尾添加填充字符,而不是在开头添加填充字符。

解决方法:将填充字符添加到数组的末尾而不是开头。

  1. 在密钥矩阵密码加密函数中,加密后的字符应该是大写字母而不是ASCII码。

解决方法:将加密后的字符转换为大写字母。

  1. 在仿射密码加密函数中,应该先将a和26求最大公约数,判断是否为1,否则该加密算法不可行。

解决方法:添加判断语句,判断a和26的最大公约数是否为1。

  1. 在界面布局时,各个控件的位置和大小没有按照预期进行布局。

解决方法:根据需求调整各个控件的位置和大小,使页面布局更合理

import numpy as npimport mathimport tkinter as tkfrom tkinter import # 置换密码函数#矩阵密码加密def matrix_ciphertext key key_len = lenkey text_len = lentext num_of_blocks = text_len key_len num_of_

原文地址: https://www.cveoy.top/t/topic/gfEY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录