微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Node JS 中的哈希密码,用于 MongoDB 中现有的密码

如何解决Node JS 中的哈希密码,用于 MongoDB 中现有的密码

我手动将密码存储在 MongoDB 中并从 mongoose 获取密码信息进行登录,因为这不是用户注册模块来存储密码,只有登录模块。

有什么办法可以将已经存储的密码转换成哈希密码?

我已阅读有关密码散列的文章,但我发现大多数在用户注册期间散列的密码都不是问题。

但是如何散列已经存储在 mongoose 中的密码并存储在 db 中?

如果有人想让我推荐或建议我的方法的任何文章也会有所帮助。我仍在探索是否有任何我会更新的选项。

我能够通过编辑预先存储的密码来散列密码。

为此我使用了 bcrypt:

const salt = await bcrypt.genSalt(10);
password = await bcrypt.hash(password,salt);

但我现在面临的问题是我想使用该散列密码,那么如何恢复散列密码。

原因是我将我的电子邮件 ID 和密码存储在 db 中以便触发邮件,并且我对密码进行了散列以确保安全,但现在发生的情况是,由于密码被散列,我的 mailtrigger 无法正常工作,因为它无法识别密码。

那么可以为它做些什么?

解决方法

对于比较密码,您应该使用 compareSync 它返回一个布尔结果,如下所示:

bcrypt.compareSync('input password','password stored in db')
if(trueOrFalse) {
    console.log('password was true');
} else {
    console.log('oops,password  was false');
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。