项目开发时免不了用户注册和登录的模块,用户生成密文密码保存,及用户登录时密文密码的校验还有token的生成及校验都是很重要的,这篇文章教大家在Koa2开发项目的这块教程!
一、用户注册时密文密码生成及校验
- 在需要加密的模块安装并引入bcrypt
bcrypt是通过hash模式生成密文的模块,且相同密码每次生成的hash密文也不一样,这就比以前MD5的加密模式安全多了,别人基本不可能解密这个hash密文。
npm install bcrypt --save
const bcrypt = require('bcrypt')
2.在需要加密的地方使用bcrypt生成hash
const hashPassword = bcrypt.hashSync(password, 10)
3.把这个加密的hash密码存到数据库
const res = await userModel.create({username, hashPassword})
4.在用户登录时先验证用户名是否存在,存在的话验证这个hash密码是否正确
const confirmRes = bcrypt.compareSync(password, user.password)
password是用户登录时传的密码,user.password是数据库保存的hash密码,验证后返回confirmRes是一个布尔值,相等为true,不相等为false。
二、生成token返回前端,并在其他接口调用时验证
1.安装需要的相关