我正在尝试使用 Pycrypto 生成 AES 密钥,但收到以下错误:
类型错误:"列表"不支持缓冲区接口
对于以下语句:
aescipher = AES.new(mykey, AES.MODE_ECB)
mykey
,属于 list
类型,包含[1885434739, 825373440, 0, 0]
有谁知道如何将mykey
转换为AES.new
函数的正确类型?
创建 AES 密钥时不应提供任何类型的列表/数组。原始密钥字节通常使用 keysize / 8
字节的字节数组提供。对于 AES,唯一支持的密钥大小分别为 128、192 和 256 位或 16、24 和 32 字节。
请注意,填充密钥直到它们适合可能会导致主要的加密漏洞。因此,使用 ECB 模式而不是像 CBC 这样的更安全的模式(或者也提供身份验证/完整性保护的模式,当然是 GCM)。