数据加密
优质
小牛编辑
137浏览
2023-12-01
bcrypt 数据加密
文档:https://www.npmjs.com/package/bcryptjs 安装:cnpm i -S bcryptjs
- [ ] 使用:
- 封装helper函数 app / extend / helper.js
// 引入加密插件 const bcrypt = require('bcryptjs') const jwt = require('jsonwebtoken') module.exports = { /** * 密码加密助手函数 * @param {String} password 原始密码 * @return {String} 返回加密后的密码 */ bcryptData(password) { // 生成盐 const salt = bcrypt.genSaltSync(10) return bcrypt.hashSync(password, salt) }, /** * 解密助手函数 * @param {*} password 未加密的密码 * @param {*} user_password 加密的密码 * @return Promise 两个密码比对,比对成功返回true 失败返回 false */ async comparePwd(password, user_password) { return await bcrypt.compare(password, user_password) }, /** * 生成 jwt * @param {*} data 需要加密的用户信息 */ generateToken(data) { return jwt.sign({ data }, this.config.token.key, { expiresIn: this.config.token.expiresIn }); } }
- 控制器中使用
ctx.body = ctx.helper.bcryptData('123456')