GnuPG 在尝试使用加密选项时输出垃圾信息

GnuPG 在尝试使用加密选项时输出垃圾信息

在过去一年左右的时间里,我一直在使用 GnuPG,但有一段时间我没有直接从 CLI 加密任何东西。今天我一直在尝试这样做,这是我得到的奇怪输出。无论密钥多么可信,你在 crud 之后添加的任何输入都不起作用。

robotmay@Computer ~> gpg --encrypt --recipient "[email protected]"                                                                        09:31:19
gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: PGP
gpg: depth: 0  valid:   3  signed:   1  trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: depth: 1  valid:   1  signed:   0  trust: 1-, 0q, 0n, 0m, 0f, 0u
gpg: next trustdb check due at 2018-01-11
 ��|C��<2t�l�c
!%B�~ͼS�C�C��1%f��0�H�����1Ht�6����H3�
                                      Y��
�K*\�����,�i=                            )c
             �*E
$)yN%Pz.f       ����l}@ t����$3AڇU���/z�
                                        ��:VY���,�@I4w7����C���R�:T�0�r�
ϐL��"�

我也尝试过通过 Keybase 的 GnuPG 集成来加密东西;但似乎总是挂起(可能是因为这种输出)。我上次使用 GnuPG 大概是 2-3 周前通过 Enigmail 使用,效果很好。

答案1

gpg --encrypt没有任何文件参数,则从 STDIN 加密并输出到 STDOUT。如果没有其他--armor/-a选项,GnuPG 将生成二进制 OpenPGP 消息(--armor将生成众所周知-----BEGIN PGP MESSAGE-----或类似的输出)。

您看到的不是垃圾,而是以 ASCII 字符解释的加密 OpenPGP 消息元数据的二进制表示。通过添加,| gpg --list-packets您可以将内容回传到 GnuPG(另一个实例)中,列出 OpenPGP 消息的技术细节。

您要么必须提供一些输入来加密(文件名作为参数或通过 STDIN 管道输入)以便 GnuPG 终止,或者如果您想通过在命令行中输入来提供消息,请按ctrl+终止输入d

相关内容