有人可以告诉我在哪里可以编写bcrypt哈希函数吗?

时间:2020-04-22 13:39:56

标签: express mongoose bcrypt

TableName

1 个答案:

答案 0 :(得分:0)

您的问题所在并不清楚您要做什么,所以我猜是黑了。

如果我正确,那么您正在寻找正确的位置以便在保存密码之前对密码进行哈希处理,因此可以对加密密码使用bcrypt.compare(),对吗?

如果是,则可以在猫鼬实际保存文档之前使用猫鼬pre-钩对密码进行哈希处理。为此,请将其添加到您的模型文件中

User.pre('save', async function (next) {
    await bcrypt.genSalt(12).then(async salt => {
        this.password = await bcrypt.hash(this.password, salt).catch(err => {
            return next(err)
        })
      }).catch(err => {
          return next(err)
    })
})