2016-05-12 251 views
1

我试图使用golang中的openPGP包加密字符串,但到目前为止我还没有成功。在golang中使用PGP

到目前为止,我没有尝试过,所以我正在寻找任何类型的建议或修复。

我唯一的要求是它应该把公钥/私钥和字符串作为字符串解密,而不是文件。

我试图用实例从这个帖子:http://julianyap.com/2014/07/04/gnu-privacy-guard-gpg-examples-using-golang.html

具体的例子:https://gist.github.com/jyap808/8324818

但是当我运行开箱即用它甾体抗炎药试图读取密钥

当以下
openpgp: invalid argument: no armored data found 

我发现没有其他好的示例/工作包。

我开始用尽选项,因为我最初试图在PHP中执行此操作,但在此失败了。如果有人能提供一些建议,那将会很棒!

在此先感谢

+1

如果我记得,用gpg'armor'指示系统使用特殊的ASC II形式的钥匙。使用相关代码更新你的问题,围绕你如何使用护甲以及如何生成密钥(使用'--armor'选项,对吧?)。 – eduncan911

+0

我使用的是实际的例子,没有改变任何东西。所以我猜它应该可以工作,但我会尝试使用护甲选项来生成一个键。 – user2578535

+0

Okey,所以我成功地能够使用我自己的密钥生成消息,但是,我无法使用我尝试过的任何在线服务解密它们,它根本无法工作。 我猜这是因为我需要某些PGP标题,但我不确定具体使用什么。试图只是复制一些通用的,但它不会工作。 – user2578535

回答

1

这里有一个PGP包Golang抽象掉大部分的并发症,是很容易使用:

https://github.com/jchavannes/go-pgp

结帐的测试文件中的示例:

https://github.com/jchavannes/go-pgp/blob/master/pgp/encrypt_test.go

+0

感谢您的回应,这将会方便! 等待接受答案,直到我测试了包 – user2578535

+0

酷!我最近用它做了一些不起作用的东西。它假定很多默认设置可能不适用于所有情况。如果遇到问题,您可能需要深入研究源代码,这是一个很薄的包装。 – jchavannes