-1

我想在我的请求中发送它们时阻止我的秘密数据(例如“密码”)。

我在前端使用 React,在后端使用 MongoDB。

实际上,我正在使用他的加盐和哈希密码将用户注册到数据库,如下所示:

userSchema.pre('save', async function (next) {
    if (!this.isModified('password')) {
        next()
    }

    const salt = await bcrypt.genSalt(10);
    
    console.log('this.password: ', this.password); 
    // password coming form Frontend is not still protected here, like '1234'
    
    this.password = await bcrypt.hash(this.password, salt); 
    // password is protected like '$2a$10$gxNPkFvqRIFZPyMsB.Dmf.G52yQntT3LxJQHuteCaSZCpUZ0RPkdm'
})

但我也想在途中保护敏感数据(例如免受“中间人攻击”)。

那么,我应该如何将用户密码发送为受保护的,或者最好的经验方式是什么?

谢谢。

4

1 回答 1

0

使用非对称加密。

生成公私钥对,前端用公钥加密密码,将密文发送到后端,后端用私钥解密。

于 2021-05-23T02:23:41.243 回答