我是第一次使用sequelize,对加密用户密码有疑问。
我想使用函数 AES_ENCRYPT 来加密字符串文本。 我的问题是,如何在 sequelize 上调用该函数?
最佳答案
你只需要bcrypt
包和钩子(Hook)beforeCreate
,
它会做的是在将条目插入数据库之前将检查 passowrd 字段并在插入数据库之前加密
给你(密码加密的片段):
const bcrypt = require('bcrypt');
var User = db.sequelize.define( 'user' , {
...
password : {
type : db.Sequelize.STRING
},
...
},
{
hooks : {
beforeCreate : (user , options) => {
{
user.password = user.password && user.password != "" ? bcrypt.hashSync(user.password, 10) : "";
}
}
}
});
关于mysql - 使用 Sequelize 和 mysql 加密密码列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51783864/