使用 bcryptjs 依赖实现用户加密。
1. 安装依赖
npm install bcryptjs
2. 定义用户模型
创建一个 `userModel.js` 文件,在其中定义用户模型,并在保存用户信息时对密码进行加密
const mongoose = require("mongoose");const bcrypt = require("bcryptjs");// 定义用户信息的 Schemaconst userSchema = new mongoose.Schema({username: {type: String,required: true,unique: true,},password: {type: String,required: true,},});// 在保存用户信息前对密码进行加密userSchema.pre("save", async function (next) {const user = this;// 只有当密码字段被修改时才进行加密操作if (!user.isModified("password")) return next();// 生成盐,盐的复杂度为 10const salt = await bcrypt.genSalt(10);// 使用盐对密码进行哈希处理const hash = await bcrypt.hash(user.password, salt);// 将加密后的密码赋值给用户的密码字段user.password = hash;next();});// 定义一个比较密码的方法userSchema.methods.comparePassword = async function (candidatePassword) {return await bcrypt.compare(candidatePassword, this.password);};// 创建用户模型module.exports = new mongoose.model("User", userSchema);