Расшифровка C++ openssl заменяет начало данных некоторыми нечитаемыми символами ⇐ Python
-
Anonymous
Расшифровка C++ openssl заменяет начало данных некоторыми нечитаемыми символами
Когда я пытался расшифровать некоторые данные (зашифрованные с помощью openssl в C++ — код ниже) с использованием Python Crypto.Cipher aes и php openssl, возникла та же ошибка — начало строки было заменено случайными двоичными символами, например:
р>
{"pass":"azertyu","opt":...
заменено на:
"Ž{mÂ┬X▒ Íł.Q>4","opt":...
Вероятно, проблема с отступами, но я не могу ее понять.
Код Python для расшифровки:
def decrypt(ciphertext_hex): ключ = b"t*H3_B3$t/k$%evr" данные = binascii.unhexlify(ciphertext_hex) iv = данные[:AES.block_size] данные = данные[AES.block_size:] шифр = AES.new (ключ, AES.MODE_CBC, iv) расшифровано = unpad(cipher.decrypt(data), AES.block_size) распечатать (расшифровано) # return decrypted.decode("utf-8", error="replace") вернуть decrypted.decode("utf-8") Код C++ для шифрования:
std::string binToHex(const std::string &input) { std::ostringstream hexStream; hexStream
Когда я пытался расшифровать некоторые данные (зашифрованные с помощью openssl в C++ — код ниже) с использованием Python Crypto.Cipher aes и php openssl, возникла та же ошибка — начало строки было заменено случайными двоичными символами, например:
р>
{"pass":"azertyu","opt":...
заменено на:
"Ž{mÂ┬X▒ Íł.Q>4","opt":...
Вероятно, проблема с отступами, но я не могу ее понять.
Код Python для расшифровки:
def decrypt(ciphertext_hex): ключ = b"t*H3_B3$t/k$%evr" данные = binascii.unhexlify(ciphertext_hex) iv = данные[:AES.block_size] данные = данные[AES.block_size:] шифр = AES.new (ключ, AES.MODE_CBC, iv) расшифровано = unpad(cipher.decrypt(data), AES.block_size) распечатать (расшифровано) # return decrypted.decode("utf-8", error="replace") вернуть decrypted.decode("utf-8") Код C++ для шифрования:
std::string binToHex(const std::string &input) { std::ostringstream hexStream; hexStream