【发布时间】:2011-11-12 02:31:55
【问题描述】:
我有一个输入字符串,我使用 MySQL 的 AES_ENCRYPT 对其进行加密,然后使用 python(不是 mysql AES_DECRYPT)对其进行解密。我打印了一些解密字符串的测试:
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) 的密钥进行加密/解密 -
我建议不要使用这样的库:我最近对 Python 产生了兴趣,需要一个“初学者”项目来熟悉该语言的基础知识。目的。