在heroku应用程序上存储节点rsa加密/解密密钥

n6lpvg4x  于 2021-09-23  发布在  Java
关注(0)|答案(0)|浏览(213)

我的heroku应用程序附带了一个postgres数据库,它是一个node.js文件。在数据库中,我需要在node.js api中加密电话号码,然后将加密的号码放入数据库。电话号码需要能够被解密并发送回各个客户端。我想是的(https://www.npmjs.com/package/node-rsa)这是一个很好的模块。唯一的问题是,使用以下方法创建密钥时:

const key = new NodeRSA({b: 512});

该密钥将在每次服务器重新启动/部署时重新生成。如果我使用此密钥加密电话号码,请使用:

const encrypted = key.encrypt('phoneNumberHere', 'base64');

然后将加密的数字发布到数据库中,当我尝试解密它时,它可能无法工作(因为我可能正在使用新密钥)。我被提到keybase.io是因为它会存储我的密钥备份,以防服务器出现故障或密钥被删除,但我不确定这是不是正确的方法。我在想,如果我能以某种方式将节点rsa密钥存储在heroku config var中,它应该是安全的,但我不太确定如何做到这一点2)不确定这是否是一种安全/智能的密钥存储方式。
如果您有任何见解,我们将不胜感激,谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题