2011-09-13 55 views
0

我正在將Java程序轉換爲Python,並且其核心網絡的一部分使用AES加密來處理上行和下行數據包。 Java的AES被初始化像這樣:如何在Python中指定AES密鑰?

byte[] key = { 0x13, 0x00, 0x00, 0x00 }; 
sKeySpec = new SecretKeySpec(key, "AES"); 

我想這樣做在Python相同,將使用PyCrypto,但我不知道如何初始化上面,因爲它僅允許基於字符串的「祕密鍵「。

+0

只是說明:一個AES-128鍵具有128位,即16個字節的長度。與此相比,你的鑰匙有點短。我不知道如果你在這裏傳遞一個太短的密鑰(也許是零填充),會發生什麼情況,儘管你通常不應該在你的程序中硬編碼一個密鑰。 –

回答

2

使用一個字符串然後

key = '\x13\x00\x00\x00' 
1

爲什麼不嘗試使用Jython,因爲您可以直接導入.class文件而無需重新編寫它。

+0

如果可能,我想堅持CPython,因爲我確信有一種方法可以做到這一點,我只是想念它... – d0ctor