1

如何在 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

如果我不尝试通过标准输入发送加密文件,那么解密工作正常。

最终我想要做的是根据文件名中带有日期时间戳的文件掩码解密文件。下面列出,

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

我不确定这是否可行,因为我无法使基本场景正常工作,如果有人能建议我实现这一目标的最佳方法,我将不胜感激。

4

1 回答 1

2

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

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

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

于 2012-10-25T17:26:10.677 回答