多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ### bcrypt 数据加密 文档:https://www.npmjs.com/package/bcryptjs 安装:cnpm i -S bcryptjs * [ ] 使用: 1. 封装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 }); } } ``` 2. 控制器中使用 `ctx.body = ctx.helper.bcryptData('123456')`