美文网首页
密码加解密(bcryptjs)

密码加解密(bcryptjs)

作者: royluck | 来源:发表于2019-09-25 10:12 被阅读0次
    const bcrypt = require('bcryptjs')
    // 密码加密
    User.init({
    password: {
            type: Sequelize.STRING,
            set(val) {
                const salt = bcrypt.genSaltSync(10)
                const psw = bcrypt.hashSync(val, salt)
                this.setDataValue('password', psw)
            }
        }
    },
    sequelize,
    tableName: 'user')
    // 密码验证
    static async verifyEmailPassword(email, plainPassword) {
            const user = await User.findOne({
                where: {
                    email
                }
            })
            if (!user) {
                throw new global.errs.AuthFailed('账号不存在')
            }
            // user.password === plainPassword
            const correct = bcrypt.compareSync(
                plainPassword, user.password)
            if(!correct){
                throw new global.errs.AuthFailed('密码不正确')
            }
            return user
        }
    

    相关文章

      网友评论

          本文标题:密码加解密(bcryptjs)

          本文链接:https://www.haomeiwen.com/subject/ynyiuctx.html