【发布时间】:2021-01-04 14:13:43
【问题描述】:
我有一个访问多个数据库的 NodeJS 应用程序。目前我已经使用dotenv 将数据库密码存储在环境变量中,以避免将它们保存在源代码中(并避免将它们提交到 repo)。
但是,这仍将密码以纯文本形式存储在位于服务器应用根目录中的 .env 文件中。如果服务器曾经被入侵,密码将在那里供某人用来直接连接到数据库。
解决这个问题的方法是,以某种方式加密密码,将加密的字符串保存在环境变量中,并让服务器(节点)在它们用于连接字符串之前对其进行解密..?
我相信,当某些东西被加密时,它总是可以被解密的。但是,这样做可以避免以纯文本形式存储密码,因此无法按原样使用它们来连接数据库。
npm 模块的推荐会很棒。我找到了crypto-js 和forge,但我不知道我应该使用什么。
这是一个专业的解决方案..?我应该使用什么类型的加密......?
【问题讨论】:
-
re: 安全,从管理仪表板设置的变量和使用 fs ".env" 传递的变量之间存在差异,更多关于主题 @indiehackers.com/post/…
标签: node.js encryption