「過去に投稿した質問と同じ内容の質問」という指摘を受けていますが、内容が異なるので予めご了承ください
openssl enc -e aes-256-cbc -base64 -iv iv値 -k 暗号鍵 ファイル -in 暗号化前ファイル名 -out 暗号化後ファイル名 -md sha256
上記コマンドで暗号化されたcsvファイルを、pythonコードで復号したいです
import base64 import hashlib from Crypto.Cipher import AES # 暗号化されたファイルを読み込み、Base64デコードする with open('encrypted.csv', 'rb') as f: encrypted_data = base64.b64decode(f.read()) # 暗号鍵とIVをセットアップ key = hashlib.sha256(キー.encode()).digetst() iv = bytes.fromhex(iv値) # 復号化 cipher = AES.new(key, AES.MODE_CBC, iv) decrypted_data = cipher.decrypt(encrypted_data) # PKCS#7パディングを除去 pad = decrypted_data[-1] decrypted_data = decrypted_data[:-pad] # 復号化されたデータを保存 with open('decrypted.csv', 'wb') as d: d.write(decrypted_data)
上記コードで復号化を試みていますが、文字化けしたようなファイルが生成されます
暗号化時に-kオプションを-Kにし、
key = hashlib.sha256(キー.encode()).digetst() の箇所を
key = bytes.fromhex(キー)
とする場合、復号ができることは確認済みです
よって、keyの復号に失敗していると思われます。
なにかお気づきの点があれば教えていただきたいです
回答1件
あなたの回答
tips
プレビュー