我有 Windows 7。(不是 Windows 10,所以我没有 Windows 10 显然具有的花哨的原生“Windows Services for Unix”)
如何从命令行使用 gpg4win 加密或解密文件?
我在 youtube 上看到一个视频,其中提到在 Linux 上,你可以gpg -c blah.txt
在提示时输入密码,然后加密文件,然后gpg blah.gpg
解密。
我运行了 gpg4win,它安装了一个叫做 Kleopatra 的东西,这是一个 GUI 程序,有一个加密按钮和一个解密按钮,对于加密,我取消勾选“签名为”并勾选“用密码加密”,这样加密就可以起作用,解密也可以起作用。
但我也希望能够通过命令行来执行此操作。
我查看了 gpg4win 的安装位置,但没有看到 gpg.exe
C:\Program Files (x86)\Gpg4win\bin>dir gpg*
Volume in drive C has no label.
Volume Serial Number is 4645-5DCE
Directory of C:\Program Files (x86)\Gpg4win\bin
04/09/2020 13:37 34,304 gpg-error.exe
04/09/2020 13:46 398,848 gpgex.dll
04/09/2020 13:47 77,824 gpgme-json.exe
04/09/2020 13:47 16,896 gpgme-w32spawn.exe
04/09/2020 13:50 2,632,704 gpgol.dll
04/09/2020 13:52 260,608 gpgolconfig.exe
04/09/2020 13:52 244,736 gpgolkeyadder.exe
7 File(s) 3,665,920 bytes
0 Dir(s) 34,931,535,872 bytes free
C:\Program Files (x86)\Gpg4win\bin>
更新
问题已经自行解决了!
不确定是否要将此作为答案发布,因为这一切都有点奇怪......为什么 gpg.exe 不在那里,为什么它突然出现。
这对我来说没什么意义,但我刚刚打开了 cygwin,我还没有尝试在其中安装 gpg。我发现 gpg 命令有效(虽然从 cygwin 运行它时我必须按 ctrl-c,但它有效)。我照做了which gpg
,它显示/cygdrive/c/Program Files (x86)/GnuPG/bin/gpg
然后我打开了常规的 cmd 提示符
C:\Program Files (x86)\GnuPG\bin>dir gpg*
Volume in drive C has no label.
Volume Serial Number is 4645-5DCE
Directory of C:\Program Files (x86)\GnuPG\bin
03/09/2020 15:39 399,008 gpg-agent.exe
03/09/2020 15:39 171,680 gpg-connect-agent.exe
03/09/2020 15:39 84,128 gpg-preset-passphrase.exe
03/09/2020 15:39 216,736 gpg-wks-client.exe
03/09/2020 15:39 1,088,160 gpg.exe
03/09/2020 15:39 150,176 gpgconf.exe
03/09/2020 15:39 24,224 gpgme-w32spawn.exe
03/09/2020 15:39 496,800 gpgsm.exe
03/09/2020 15:39 158,880 gpgtar.exe
03/09/2020 15:39 514,208 gpgv.exe
10 File(s) 3,304,000 bytes
0 Dir(s) 34,930,319,360 bytes free
C:\Program Files (x86)\GnuPG\bin>
gpg.exe“神奇地”出现了,并且文件的日期(英国格式为 dd/mm/yyyy)
C:\Users\User>date
The current date is: 20/11/2020
Enter the new date: (dd-mm-yy)
C:\Users\User>
文件日期已从 2020 年 9 月 4 日(请参阅我的问题中的目录列表)更改为 2020 年 9 月 3 日......所有这些都在 5 分钟内完成。
因此,它可以正常工作,并且从 cmd.exe 运行良好,现在我看到 gpg.exe 已列出。但之前它不在那里!
C:\Users\User\bbb>gpg -c a.txt_pwd_a
File 'a.txt_pwd_a.gpg' exists. Overwrite? (y/N) y
C:\Users\User\bbb>gpg a.txt_pwd_a.gpg
gpg: WARNING: no command supplied. Trying to guess what you mean ...
gpg: AES.CFB encrypted data
gpg: encrypted with 1 passphrase
File 'a.txt_pwd_a' exists. Overwrite? (y/N) y
C:\Users\User\bbb>
答案1
这是两个名称相似的不同文件夹 - Gpg4win 与 GnuPG。
第一条路径是:C:\Program Files (x86)\Gpg4win\bin
第二个路径,即 gpg.exe 所在的路径,是:C:\Program Files (x86)\GnuPG\bin
当我尝试查找 gpg.exe 时,我起初并没有注意到这一点。