Wie man einen Wert in Python entschlüsselt, der mit PHP OpenSSL verschlüsselt wurdePhp

PHP-Programmierer chatten hier
Anonymous
 Wie man einen Wert in Python entschlüsselt, der mit PHP OpenSSL verschlüsselt wurde

Post by Anonymous »

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>

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)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post