我正在寻求将密码通过管道传输到 gpg 中以进行对称加密,但它的表现就好像我没有通过管道传输任何内容,并且仍然要求我输入密码并重新输入密码。
\n\n这是我正在尝试的(“输入”是密码):
\n\n(echo 'enter'; echo 'enter') | gpg -c test.py\nRun Code Online (Sandbox Code Playgroud)\n\n为什么这不起作用?
\n\n我已经知道您可以使用--batch --yes --passphrase='enter',但这会在任务管理器中的任务中显示密码(因此似乎不太安全\xe2\x80\x94如果我错了请告诉我)。
编辑:我刚刚意识到 echo 仍然可能会出现在任务管理器中(只是与 gpg 命令分开)。因此,为了解决这个问题,我可以将密码保存到临时文件中并cat myPasswordFile使用echo myPassword. 这样,他们必须从临时文件(当它存在时)实时获取密码,而不是仅仅记录所有已运行的任务并在闲暇时获取密码。