サブプロセスを使用して、既知のパスワードで暗号化されたファイルを復号化するためのpythonスクリプトを介してopensslコマンドを実行しようとしています。Python:サブプロセス経由でopensslを使用して可変パスワードで復号化する
コードは動作しますが、パスワードを変数として保存することができます。つまり、pass = 'password'
を入力し、その変数を静的にpass:password
としてサブプロセス呼び出しに入力することができます。どのようにパスワードを変数に保存するのか心配することなく、変数としてサブプロセス呼び出しに渡すことに焦点を当てるだけで、これは可能ですか?
OpenSSLのmanページのPASS PHRASE ARGUEMENTSセクションを読んでいたので、他のオプション(env:var, file:pathname, fd:number, or stdin
)のどれかを使用しなければならないのが不思議です。しかし、使用中の例を見つけることは難しいので、わかりません。ここで
は、私がこれまで持っているものです。
def decryptfile():
decryptFile = subprocess.Popen(["openssl", "aes-256-cbc", "-d", "-a", "-in", "pw.txt",
"-out", "pw.dec.txt", "-pass", "pass:password"]
)
それは私が欲しかったものではありません、私はそれをより明確にしようとします。すでに定義されている変数をサブプロセス呼び出し自体に入力できるようにする必要があります。つまり、 'pass:password'を使用する代わりに、変数を使用して、端末にパスワードを入力するのを待ちません。出力を保存することについてのことは、間違いなく私のプログラムの後のほうに役立つでしょうが – Brosta