GNUPG - stdin在Windows上加密文件和密码

时间:2012-10-22 22:49:12

标签: windows gnupg

如何在gpg.exe中管道密码和加密文件?

我尝试过几种不同的组合,但我无法让它发挥作用。

这是我的尝试,

C:\>gpg.exe --output [OUTPUT_FILE] --batch --passphrase-fd 0 --decrypt < [INPUT_FILE] < [PASSPHRASE_FILE]

从此我得到错误

gpg: decrypt_message failed: eof

交换输入和密码短语我得到错误

gpg: no valid OpenPGP data found.
gpg: decrypt_message failed: eof

如果我不尝试通过stdin发送加密文件,则解密工作正常。

最终我要做的是根据文件掩码中的日期时间戳来解密文件。下面概述,

C:\>gpg.exe --output yyyyMMdd.csv --batch --passphrase-fd 0 --decrypt < *_yyyyMMdd_*.txt < [PASSPHRASE_FILE]

我不确定这是否有效,因为我无法使基本方案正常工作,如果有人能告诉我实现这一目标的最佳方法,我也将不胜感激。

1 个答案:

答案 0 :(得分:2)

请勿对要解密的文件使用重定向,仅针对包含密码的文件:

C:\>gpg.exe --output [OUTPUT_FILE] --batch --passphrase-fd 0 --decrypt [INPUT_FILE] < [PASSPHRASE_FILE]

但老实说,您可能更容易从密钥中删除密码。毕竟,将密码存储在文件中并不是很安全。只需将密码更改为空白并保护您的gpg主目录,以拒绝访问除您自己以外的任何进程。