我有一个输入字符串,我用MySQL的AES_ENCRYPT
加密它,然后用python(而不是mysql AES_DECRYPT
)解密。我打印输出的解密的字符串的一些测试:Python AES解密字符串以不同字符结尾
print decrypt_string
print "%sxxx" % decrypt_string
print len(decrypt_string)
print self.toHex(decrypt_string)
当输入字符串的长度为8位,即ABCDEFGH,测试输出将是:
abcdefgh
xxxdefgh
16
0x610x620x630x640x650x660x670x680x80x80x80x80x80x80x80x8
如果输入字符串的长度是7,即ABCDEFG :
abcdefg
abcdefg xxx
16
0x610x620x630x640x650x660x670x90x90x90x90x90x90x90x90x9
我发现结尾字符在输入字符串的长度增加的同时递减。为什么有差异?如果我使用PHP AES加密而不是MySQL AES_ENCRYPT,则结尾字符将为0x00。我正在使用第三方python AES lib。
尝试使用'm2secret'([pip install m2secret]([pip install m2secret])加密/解密密钥( http://www.heikkitoivonen.net/m2secret/)) – jfs
我建议不要使用一个库,它说*我最近对Python感兴趣,需要一个“初学者”项目来让我熟悉这门语言的基础知识。为密码学目的。 –