Wie man einen Wert in Python entschlüsselt, der mit PHP OpenSSL verschlüsselt wurde
Posted: 30 Apr 2025, 21:09
Ich habe einen Wert, der unter Verwendung von PHP OpenSSL unter Verwendung von Cipher AES-CBC-256 verschlüsselt wurde, aber die Passphrase für den Endwert wurde auch mit derselben Methode verschlüsselt. OpenSSL_encrypt ($ Key, $ cipher, $ Passphrase, 0, $ iv)
Ich muss in der Lage sein, diese Daten mit Python zu entlasten, aber ich stöbere in Blockgröße. Ich habe dies in PHP getestet und es funktioniert ordnungsgemäß. Mein Endwert in diesem Beispiel sollte 'Jimmy' sein. < /P>
Ich muss in der Lage sein, diese Daten mit Python zu entlasten, aber ich stöbere in Blockgröße. Ich habe dies in PHP getestet und es funktioniert ordnungsgemäß. Mein Endwert in diesem Beispiel sollte 'Jimmy' sein. < /P>
Code: Select all
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)