简单的例子aes256 crypt

时间:2011-04-25 12:26:59

标签: python encryption

为什么这个例子不起作用?

from Crypto.Cipher import AES
x = AES.new("sdsfdsafsadfdsafasdfdsarwe876539", AES.MODE_CBC, "2324234342342342")
print x.decrypt(x.encrypt('abcdfghkbhgjrdfs'))

1 个答案:

答案 0 :(得分:6)

因为x是具有状态的对象。用它来加密字符串会改变状态;再次使用它会产生不同的输出。

使用与加密时相同的初始状态的新AES密码:

>>> from Crypto.Cipher import AES
>>> key= "sdsfdsafsadfdsafasdfdsarwe876539"
>>> prefix= '2324234342342342'
>>> AES.new(key, AES.MODE_CBC, prefix).encrypt('abcdfghkbhgjrdfs')
'\xf4\xd9\xd1B8\xc1\x16\xe1\x9b~\xd0\x99\x1c\xf8\xdfn'
>>> AES.new(key, AES.MODE_CBC, prefix).decrypt(_)
'abcdfghkbhgjrdfs'