有没有办法将我的 MySQL 密码安全地存储在 Node.JS 中?

Posted

技术标签:

【中文标题】有没有办法将我的 MySQL 密码安全地存储在 Node.JS 中?【英文标题】:Is there a way to store my MySQL passwords in Node.JS securely? 【发布时间】:2019-02-10 00:04:26 【问题描述】:

我正在将 Node.js 用于 Web 应用程序。该应用程序直接与 mysql 对话,因此,我需要指定用于连接的密码,但是,这要求密码在源代码中以纯文本形式显示。

有没有办法隐藏/散列密码?

【问题讨论】:

这通常在代码之外完成,例如通过环境或文件系统将密码引入运行的服务器。 【参考方案1】:

查看http://12factor.net 了解许多最佳实践。

一般来说,永远不要在源代码中存储秘密。根据您的要求,有许多用于存储机密的选项,但最简单的是将它们配置为运行进程的用户的环境变量(您在开发中,在生产中的一些服务帐户)。

虽然这并不完美,但如果您的服务器经过适当的加固,通常就足够安全了。

【讨论】:

【参考方案2】:

不,你不能 %100 隐藏数据库密码,你也不需要。包含db密码的配置文件将在服务器上,任何人都无法访问它而不泄露服务器。

【讨论】:

这是真的,但是我担心当我将源代码存储在我的 PC 或组织的网络上时,它会以纯文本形式提供。

以上是关于有没有办法将我的 MySQL 密码安全地存储在 Node.JS 中?的主要内容,如果未能解决你的问题,请参考以下文章

CURL SSH 密钥密码安全

linux下mysql的root密码忘记办法

Git http - 安全地记住凭据

在会话中存储密码是不是安全? [复制]

如何在 Android 上安全地存储密码?

如何安全地存储用户的密码?