我想用子進程通過python腳本運行一個openssl命令來解密已知密碼的已加密文件。Python:通過子進程使用openssl來解密一個可變密碼
代碼我有工作,但我希望能夠保存一個密碼作爲變量,即pass = 'password'
,並將該變量輸入到子進程調用中,而不是靜態地將其作爲pass:password
。不用擔心我如何將密碼保存到變量中,只關注將它作爲變量傳遞給子進程調用,這可能嗎?
我正在閱讀OpenSSL手冊頁的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