七叶笔记 » 数据库 » 使用mongoose和bcrypt实现用户密码加密的示例

使用mongoose和bcrypt实现用户密码加密的示例

用户模型

下面来创建代码用户user的schema,用户名不能重复

加密

下面加入用户模型的是Mongoose的中间件,该中间件使用pre前置钩子,在密码保存之前,自动地把密码变成hash。详细代码如下

在node.bcrypt.js中SALT_WORK_FACTOR默认使用的是10,这里设置为5

验证

加密之后,密码原文被替换为密文了。我们无法解密,只能通过bcrypt的compare方法,对再次传入的密码和数据库中保存的加密后的密码进行比较,如果匹配,则登录成功

把上面的几个步骤串在一起,完整代码如下

测试

把上面的代码保存成user-model.js,然后运行下面代码来实际测试

控制台中输入如下数据:

数据库数据如下:

以上这篇使用mongoose和bcrypt实现用户密码加密的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持七叶笔记。

相关文章