简单的AES256加密示例

1 投票
1 回答
2241 浏览
提问于 2025-04-16 16:22

这个例子为什么不管用呢?

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

1 个回答

7

因为 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'

撰写回答