2016-05-12 250 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