簡體   English   中英

ValueError:密鑰必須為128位長XTEA

[英]ValueError: Key must be 128 bit long XTEA

我正在嘗試加密數據,並通過TCP套接字將其發送到我的服務器。 但是我得到了錯誤,ValueError:密鑰對於以下代碼必須為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是帶有128位密鑰的64位塊Feistel密碼。 由於"0wYwcOnn"為64位,所以誤解是什么?

XTEA需要一個128位(16字節)的密鑰。

對於長度少於16個字節的鍵,一種可能的填充方案是簡單地將其填充為空字節,直到它為16個字節為止。 根據家伙Wooble在IRC://irc.freenode.net/#python,這應該工作:

key2=struct.pack('16s', b"0wYwcOnn")
  • 它只是用空值填充丟失的字節,直到它為16個字節為止,否則我被告知。 (idk,我不做python編程)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM