простой пример крипта aes256 - PullRequest
1 голос
/ 25 апреля 2011

Почему этот пример не работает?

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

1 Ответ

6 голосов
/ 25 апреля 2011

Потому что 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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...