Encryption

GPG對稱加密和javascript

  • February 14, 2019

我有一個案例,我需要使用 javascript 在瀏覽器中加密一些文本。只有加密的文本將儲存在伺服器上。然後,使用者應該能夠獲取加密結果並在命令行上使用 GPG 對其進行解密。我想使用 GPG,因為它很容易獲得,而且 AES 似乎支持密碼雜湊的迭代。

我希望使用 AES,但是我不明白迭代計數或 salt GPG 使用什麼。

例如,http://cheeso.members.winisp.net/AES-Encryption.htm允許您使用 Javascript 設置 AES 解密參數:

有誰知道使用什麼參數來與 GPG 兼容?

GnuPG 遵循OpenPGP 格式,它本身就是一個協議——它使用 AES(以及其他算法),但比“僅使用正確參數的 AES”更複雜。

Javascript中至少有一個OpenPGP 實現(不過我還沒有嘗試過)。

問題中的連結似乎已失效。因此,該庫的參數問題可能無關緊要。但是還有其他選項可以在 JavaScript 中實現 gpg 對稱加密的最終結果。

另一個答案表明 Herbert Hanewinkel 的 OpenPGP 的 JavaScript 實現。這不適用於對稱加密。但去年,我給 Hanewinkel 發了電子郵件,詢問我是否可以使用我網站上的圖書館。他這樣說:

沒關係,謝謝你的郵件。Javascript 中 PGP 的未來工作將由 www.openpgpjs.org 完成,我不再研究這個主題。

問候,

赫伯特·漢溫克爾

在新項目的網站上,有一個 github 儲存庫的連結。此實現確實支持對稱密碼。

https://github.com/openpgpjs/openpgpjs/tree/master/src/ciphers/symmetric

因此,當您想使用 javascript 進行加密時,請使用此庫中的對稱密碼之一。並且當您解密消息時,gpg使用選項從命令行執行--symmetric

引用自:https://crypto.stackexchange.com/questions/565