Koa2用户注册生成密文密码及用户登录时生成token返回

本文介绍了在Koa2项目中如何实现用户注册时的密码加密(使用bcrypt)以及登录时的密码校验。同时,详细讲解了如何生成JWT Token并在其他接口进行验证,确保用户权限管理的安全。
摘要由CSDN通过智能技术生成

项目开发时免不了用户注册和登录的模块,用户生成密文密码保存,及用户登录时密文密码的校验还有token的生成及校验都是很重要的,这篇文章教大家在Koa2开发项目的这块教程!

一、用户注册时密文密码生成及校验
  1. 在需要加密的模块安装并引入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.安装需要的相关

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值