擅长:python、mysql、java
<pre><code>msg = conn.recv(2024)
if msg:
cmd, msg = ord(msg[0]),msg[1:]
if cmd == CMD_MSG:
listb1.insert(END, decrypt_my_message(msg.strip()) + "\n")
</code></pre>
<p>上面的代码片段读取2024字节的数据(不是16的倍数),然后(如果“if”语句为真)调用decrypt_my_message信息条()作为论据。然后decrypt_my_消息会抱怨给它的字符串长度不是16的倍数。)我猜这就是问题所在。在回溯中查看是否这是导致异常的行)。在</p>
<p>您需要使用长度为n*16的字符串来调用decrypt_my_message。在</p>
<p>您可能需要重新考虑读取流的逻辑,或者在中间设置一些缓冲区,以将muy_消息解密为n*16的块。在</p>