仅在 Java 中使用密码解密 PGP 加密文件

Decrypt PGP encrypted file with passphrase only in Java

我有一个名为 'filename.txt.pgp' 的 PGP 文件需要解密。当我从命令行 运行 解密时,它只要求我输入密码。我使用 gpg 命令:

gpg filename.txt.pgp

密码足够了,我的文件被解密了。我可以阅读它的内容。

现在,我应该在 Java 中创建一个实用程序。经过研究,我发现 Bouncy Castle 库是我最好的选择。但是 Java 中的所有示例我都可以使用 public/private 我没有的密钥文件。

你能帮我举一个 Java 中仅使用密码解密 PGP 文件的例子吗?

谢谢。

如果您查看 Bouncy Castle 站点的文档部分,他们会说“...查看包中的测试程序...”,他们不是在开玩笑。

如果您查看来自 Bouncy Castle 的 jar 文件,您将在 \org.bouncycastle\openpgp\examples\ 目录下看到一个名为 "PBEFileProcessor" 的 class 文件,该文件将在使用其库时涵盖基于密码的加密。

这是他们 Github 存储库中同一文件的 link