gpt4 book ai didi

javascript - NestJS 哈希密码

转载 作者:行者123 更新时间:2023-11-28 03:17:00 25 4
gpt4 key购买 nike

我正在尝试对用户实体文件中的密码进行哈希处理,我从另一个项目复制了代码,该代码适用于该项目,但不适用于此项目。

在实体中:

 @Column()
password: string;

@BeforeInsert()
async hashPassword() {
this.password = 'hashed password';
}

服务中:

async create(user: DeepPartial<User>) {
const newUser = this.userRepository.create(user);
return this.userRepository.save(newUser);
}

它创建了一个用户,但密码未经过哈希处理。

最佳答案

如果您使用 Sequelize ORM,我这样做的方法是返回到我的数据库提供程序并在初始化 Sequelize 模型后添加它。

    export const databaseProviders = [
{
provide: ioc.sequelizeProvider,
useFactory: async () => {
const sequelize = new Sequelize({
dialect: 'mysql',
host: databaseConstants.host,
port: databaseConstants.port,
username: databaseConstants.username,
password: databaseConstants.password,
database: databaseConstants.database,
});
sequelize.addModels([Profile]);
await sequelize.sync();

Profile.beforeSave((profile, options) => {
const hashPassword = crypto.createHmac('sha256', profile.password).digest('hex');
profile.password = hashPassword;
});

return sequelize;
},
},
];

关于javascript - NestJS 哈希密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59544204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com