Nodejs后端 对用户密码进行加密
使用 bcryptjs 插件对用户密码进行加密,优点:
- 加密之后的密码,无法被逆向破解
- 同一明文密码多次加密,得到的加密结果各不相同,保证了安全性
一、密码加密的方法:
- 安装指定版本的
bcryptjs
:
npm i bcryptjs@2.4.3
- 在需要使用插件的文件中导入
bcryptjs
:
const bcrypt = require('bcryptjs')
- 调用
bcrypt.hashSync(明文密码, 随机盐的长度)
方法,对用户的密码进行加密处理:
// 对用户的密码,进行 bcrype 加密,返回值是加密之后的密码字符串
userinfo.password = bcrypt.hashSync(userinfo.password, 10)
二、密码验证的方法:
调用 bcrypt.compareSync(用户提交的密码, 数据库中的密码)
方法比较密码是否一致
// 用户输入的密码,和数据库中存储的密码进行对比,返回值是布尔值
const compareResult = bcrypt.compareSync(userinfo.password, results[0].password)