为了保证密码的安全性,不建议在数据库以 明文
的形式保存用户密码,推荐对密码进行 加密存储
在当前项目中,使用 `bcryptjs` 对用户密码进行加密,优点:
- 加密之后的密码,无法被逆向破解
- 同一明文密码多次加密,得到的加密结果各不相同,保证了安全性
1,运行如下命令,安装指定版本的 `bcryptjs`
npm i bcryptjs@2.4.3
2,在 js文件 中,导入 `bcryptjs` :
const bcrypt = require('bcryptjs')
3,在注册用户的处理函数中,确认用户名可用之后,调用 `bcrypt.hashSync(明文密码, 随机盐的长度)` 方法,对用户的密码进行加密处理:
// 对用户的密码,进行 bcrype 加密,返回值是加密之后的密码字符串
userinfo.password = bcrypt.hashSync(userinfo.password, 10)