【发布时间】:2018-03-16 01:37:22
【问题描述】:
我正在尝试使用 subprocess 通过 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"]
)
【问题讨论】:
标签: python encryption openssl