如何隐藏私钥?

时间:2018-12-06 12:59:31

标签: javascript

我的javascript代码中有一个私钥:

var privateKey = "E753A647BDB7BAA1F17DDFD64D3B5D5AB8D6416E6F8E85B8124EB73BB5CD5756";

如何隐藏密钥?混淆不是一个好主意。

私钥在后端。

这里有个比喻:我是军队的将领,我在一张纸上写一个加密的秘密消息,并在另一张纸上写解密代码的密钥,我相信所有人都可以将加密的秘密消息发送到国王,但我不信任任何人将带有密钥的纸发送给国王。我不能离开自己的位置向自己发送消息,我该如何发送带有密钥的纸来解密消息至如果我不信任任何人,国王?

程序员可以编辑文件,他们看到私钥,我想让程序员看不到私钥。

2 个答案:

答案 0 :(得分:2)

我不确定我是否理解您的问题,但是如果您的意思是:“我有一些开发人员之间共享的代码(使用git或其他方式)。在我的代码中,需要私钥,但是我不想共享此私钥。”

然后是解决方法:

使用.env文件(不要将此文件推送到您的存储库中):

  

PRIVATE_KEY = ABCD1234XYZ

然后,导入文件内容(如果您有节点应用程序,建议使用dotenv)。

最后,您将可以使用以下行在代码中访问此值:

const myPrivateKey = process.env.PRIVATEKEY

因此,您的密钥将不再位于代码中,而是位于计算机上的.env文件中。

答案 1 :(得分:0)

  1. 使用服务器作为任何秘密密钥的维护者。通过ACL远程调用来检索密钥。
  2. 作为解决方案https://www.hashicorp.com/products/vault/的好工具
  3. 在首次加载页面时要求手动输入此密钥,并将其保存在任何浏览器存储中