Как расшифровать значение в Python, которое было зашифровано с помощью php openssl ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Как расшифровать значение в Python, которое было зашифровано с помощью php openssl

Сообщение Anonymous »

У меня есть значение, которое было зашифровано с использованием PHP openssl с использованием Cipher AES-CBC-256, но пассивная фраза для конечного значения также была шифрована с использованием того же метода. openssl_encrypt ($ key, $ cipher, $ passphrase, 0, $ iv)
Мне нужно иметь возможность развеять эти данные, используя Python, но я сталкиваюсь с проблемами размера блока.
Вот некоторые из кода, которые у меня есть. Я проверил дешифрование этого в PHP, и это работает должным образом. Моим конечным значением в этом примере должно быть «Джимми». < /P>
import base64
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad

localKey = base64.b64decode('Po0KPxyF')
localIv = base64.b64decode('s8W+/a4jkp9mhO3NkCL7Yg==')

encrypted_value = base64.b64decode('hl5n6Nq5QYtgKIyLEVCupA==')
encrypted_key = base64.b64decode('MGRHRFlaMzhCR0lxb2VHS1JHQXcrWkV2bkJpNWFZb3cybW9iQW5KYTlOU0xKK1FHc2pPUW1MUE9JRU5zTXN1Rg==')
encrypted_iv = base64.b64decode('J31SrExr7KKIOertYIPhpQ==')

# First need to encrypted key that uses the local key as the passphrase
cipher_key = AES.new(pad(localKey,16), AES.MODE_CBC, localIv)
decrypted_key = cipher_key.decrypt(encrypted_key)

# Then decrypted the final value using the newly decrypted key
cipher_key = AES.new(unpad(decrypted_key,16), AES.MODE_CBC, encrypted_iv)
decrypted_value = cipher_key.decrypt(encrypted_value)


Подробнее здесь: https://stackoverflow.com/questions/795 ... hp-openssl

Вернуться в «Php»