首页 > 解决方案 > 运行 cmd 命令后,是否有任何功能可以在 python 中自动插入用户输入?

问题描述

我正在尝试在 python 中运行 openssl 命令。问题是每次我运行它都会要求输入密码的命令。当要求输入密码时,是否有任何函数可以将 i、j、k、l 变量放入其中?密码应在 0000-9999 之间。这是我的代码:

from pynput.keyboard import Key, Controller
import os
import subprocess

keyboard=Controller()

for i in range(10):
for j in range(10):
    for k in range(10):
        for l in range(10):
            os.system('openssl rsa -in bob.prv -pubout -out bob.pub')
            print(i)
            print(j)
            print(k)
            print(l)
            keyboard.press('enter')
            keyboard.release('enter')

标签: pythoncmdopensslpyopenssl

解决方案


避免提示密码的一种方法是将passphrase参数用作 OpenSSL 命令的一部分。可以通过多种来源传递密码,例如文件、环境变量等。

对于该openssl rsa命令,有两个密码参数:-passin arg& -passout arg

有关更多详细信息,请参阅:https ://www.openssl.org/docs/manmaster/man1/rsa.html

有关如何传递密码短语参数的详细信息,请参阅以下中的“密码短语选项”部分:https ://www.openssl.org/docs/manmaster/man1/openssl.html


推荐阅读