У меня есть некоторые данные, которые были зашифрованы с помощью OpenSSL в C++ с использованием aes_256_cbc, и мне нужно расшифровать их в Python. Я полагал, что использование M2Crypto, будучи оболочкой для OpenSSL, должно упростить это, но я не получаю те же данные.
Я прочитал test_AES
код, и это не помогло. Я получаю данные, это просто неправильные данные.
c = Cipher(alg='aes_256_cbc', key=binaryKey, iv=iv, op=0, d='sha256', i=5, salt=knownSalt, padding=0)
v = c.update(binaryDataToDecrypt)
v += c.final()
На данный момент afaik, v должны быть моими данными, а это не так... Я нашел еще один Q здесь, на SO, где упоминалось, что первые 16 байтов данных для расшифровки являются солью, поэтому я также безуспешно пробовал следующее:
c = Cipher(alg='aes_256_cbc', key=binaryKey, iv=iv, op=0, d='sha256', i=5, salt=binaryDataToDecrypt[0:16], padding=0)
v = c.update(binaryDataToDecrypt[16:])
v += c.final()