在 Node.js 中使用私钥/公钥加密文件的最合适和最安全的方法是什么?



我想知道在我的节点.js应用程序中加密和解密文件时应该在哪个用例中使用这些方法。

问题所在

我想加密服务器中的一些文件,在询问其他人后,我意识到最推荐的方法是使用私钥加密这些文件(大型(。

现在,我正在寻找文档并看到了这些方法

  • crypto.publicEncrypt(pubKey, buffer)
  • crypto.publicDecrypt(pubKey, buffer)
  • crypto.privateEncrypt(privKey, buffer)
  • crypo.privateDecrypt(privKey, buffer)

这很令人困惑,因为我不知道我现在必须使用它们中的什么,啊......我不知道安全执行此操作的最合适方法是什么。

tl;dr 使用公钥加密。确保您的私钥安全。

不幸的是,这些方法的名称很差。 privateEncrypt应该被称为sign之类的东西,publicDecrypt应该被称为verify之类的东西。

使用公钥加密(也称为非对称加密(时,一个密钥可用于写入密码,另一个密钥可以撤消该操作。您的公钥可能为所有人所知,而您的私钥是秘密的。

如果要对某些内容保密,除了某个密钥的所有者之外,您希望使用公钥加密消息。因此,如果爱丽丝想要接收加密消息,她将共享她的公钥A_pub和她的密钥A_priv,她会保持自己的状态。您将加密消息crypto.publicEncrypt(A_pub, buffer) .然后,她将使用crypto.privateDecrypt(A_priv, buffer)解密该消息。

以另一种方式执行此操作称为数字签名

相关内容

  • 没有找到相关文章

最新更新