首页 > 解决方案 > 密码未使用 bcrypt 散列

问题描述

我正在编写带有用户注册表单的个人应用程序。我遇到了密码被散列的问题。目前密码以纯文本形式存储在数据库中,并且没有被散列。

'use strict';
const Sequelize = require('sequelize');
const bcrypt = require('bcrypt');

module.exports = (sequelize) => {
    class User extends Sequelize.Model { }
    User.init({
        username: Sequelize.STRING,
        password: Sequelize.STRING,
        confirmPassword: Sequelize.STRING,
    },
        {
            instanceMethods: {
                generateHash(password) {
                    return bcrypt.hash(password, bcrypt.genSaltSync(8));
                },
                validPassword(password) {
                    return bcrypt.compare(password, this.password);
                }
            }, sequelize
        });

    return User;
};

标签: node.jsexpresshashbcrypt

解决方案


推荐阅读