使用 BouncyCastle c# 进行 PgP 加密和解密
我看过很多帖子,遵循了很多教程,但似乎都不起作用。有时,他们会引用一些未找到的类。我可以指出一个地方,在那里我可以获得一个简单的教程,展示如何加密和解密文件。
我对 Pgp 很陌生,欢迎任何帮助。
I've seen a number of posts, followed a number of tutorials but none seems to work. Sometimes, they make reference to some classes which are not found. Can I be pointed to a place where I can get a simple tutorial showing how to encrypt and decrypt a file.
I'm very new to Pgp and any assistance is welcomed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我知道这个问题已经有很多年了,但在 Google 中与使用 Bouncy Castle 进行 PGP 解密相关的搜索中,它仍然排名第一或第二。由于似乎很难找到一个完整、简洁的示例,我想在这里分享我的解密 PGP 文件的工作解决方案。这只是源文件中包含的 Bouncy Castle 示例的修改版本。
I know this question is years old but it is still #1 or #2 in Google for searches related to PGP Decryption using Bouncy Castle. Since it seems hard to find a complete, succinct example I wanted to share my working solution here for decrypting a PGP file. This is simply a modified version of the Bouncy Castle example included with their source files.
我使用了 PgpCore 包,它是 Portable.BouncyCastle 的包装器。
它非常干净且易于使用。 此处提供了多个示例。
I have used PgpCore package which is a wrapper around Portable.BouncyCastle.
It is very clean and simple to use. Multiple examples available here.
这是怎么回事:
Bouncycastle PGP 解密期间的 PartialInputStream
另外,该 zip 包含示例:
http://www.bouncycastle.org/csharp/
希望如此有帮助。如果您仍然遇到困难,请发布有关编译器抱怨的类的更多详细信息,社区将会查看。
How's this:
PartialInputStream during Bouncycastle PGP decryption
Also, the zip contains examples here:
http://www.bouncycastle.org/csharp/
Hope this helps. If you're still stuck, post some more detail about what classes the compiler is complaining about and the community will take a look.
现在,到了 2021 年,Nikhil 的答案可能是最好的,因为它抽象出了直接与 BouncyCastle 合作的需要。快去给他投一票吧。
如果您出于某种原因想直接使用 BouncyCastle,我有 Dan 的答案的现代实现以及他正在使用的示例,它直接在 NET5 中使用 BouncyCastle。看一下:
安装的是 Nuget Package Portable.BouncyCastle 1.8.10。
Now, in 2021, Nikhil's answer is probably best, since it abstracts out the need for working with BouncyCastle directly. Go give him an upvote.
If you want to work with BouncyCastle directly for some reason, I've got a modern implementation of Dan's answer, and the examples he's working from, that uses BouncyCastle directly in NET5. Take a look:
Installed is Nuget Package Portable.BouncyCastle 1.8.10.