ValueError: Key必须是128位长的XTEA



我正在尝试加密数据并将其通过TCP套接字发送到我的服务器。然而,我得到的错误,ValueError: Key必须是128位长为下面的代码:

from xtea import *
from socket import *
import datetime
import time
import sys
clientsocket = socket(AF_INET,SOCK_STREAM)
clientsocket.connect(("xx.xx.xx.xx",1234))
key2="0wYwcOnn"
text = "$123456781|tx|id1^1.1^2015-09-29 16:38:44^2015-09-29 19:48:44"
x = new(key2, mode=MODE_ECB)
c = x.encrypt(text)
clientsocket.send(c)
recv = clientsocket.recv(1024)
print(recv)

有人能评论一下吗?

将密钥大小增加到16个字节。

XTEA是64位块费斯特尔密码,密钥为128位。既然"0wYwcOnn"是64位(最多),误解是什么?

XTEA需要128位(16字节)密钥。

对于长度小于16字节的键,一种可能的填充方案是简单地用空字节填充它,直到它达到16字节。根据irc://irc.freenode.net/#python的家伙Wooble,这应该工作:

key2=struct.pack('16s', b"0wYwcOnn")
  • 它只是用null填充缺失的字节,直到它是16字节,或者我已经被告知。(idk,我不做python编程)

相关内容

  • 没有找到相关文章

最新更新