我使用MongoDB和Node.js来创建一个Web应用程序。 我的用户应该能够使用连接字符串连接到他们的数据库,其中包含密码作为一部分。
首先我想到了bcrypt,但我无法使用它,因为在这种情况下,每次他们想要连接到他们的数据库时,我都要求用户输入他们的数据库密码。
然后我发现加密模块和crypto.createDecipher可以解密加密密码,但我必须在某处存储密钥。所以我将我的密钥存储为Heroku环境变量。
所以我的问题是:
我是否实施了正确的方法?也许有更安全的方式 获得相同的?
如果不是,将密钥存储为Heroku env是安全的 变量
如果您认为存储密码甚至加密都是一个坏主意,请告诉我其他服务如何执行此操作,例如,为您提供对数据库的访问权限。 感谢