以前用C#做了一个AES ECB的加解密工具。
密钥有不可见字符
private static byte[] _private_key = { 0x17, 0xBB, 0x50, 0xEA, 0x20, 0xA7, 0x4D, 0xE5, 0x2F, 0x7F, 0x29, 0x4C, 0x96, 0x7D, 0xE5, 0xA5 };
在C#中可以用
System.Security.Cryptography.RijndaelManaged rDel = new System.Security.Cryptography.RijndaelManaged();
rDel.Key = _private_key;
rDel.Mode = System.Security.Cryptography.CipherMode.ECB;
rDel.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
但是现在用python中
key = u"\x17\xBB\x50\xEA\x20\xA7\x4D\xE5\x2F\x7F\x29\x4C\x96\x7D\xE5\xA5"
_cipher = AES.new(key, AES.MODE_ECB)
就会出现
ValueError: AES key must be either 16, 24, or 32 bytes long
好郁闷。有哪位大神可以指点一下。
已经解决了。
key = b"\x17\xBB\x50\xEA\x20\xA7\x4D\xE5\x2F\x7F\x29\x4C\x96\x7D\xE5\xA5"
就好了。