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

问题描述 投票:2回答:1

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

The Problem

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

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

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

这是非常令人困惑的,因为我不知道他现在必须使用什么,啊......我不知道什么是最安全地做到这一点的方法。

node.js encryption public-key-encryption private-key public-key
1个回答
2
投票

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

不幸的是,这些方法的命名很差。 privateEncrypt应该被称为像signpublicDecrypt应该被称为像verify

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

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

以另一种方式做它被称为digitial signature

© www.soinside.com 2019 - 2024. All rights reserved.