需要数据和盐:hashSync

问题描述 投票:0回答:2

我正在尝试使用 hashSync 对 ueserRouter 中的密码进行哈希处理以创建注册 错误:需要数据和盐 如果有人可以帮助我如何在此函数中声明数据和盐

下面的代码:

const userRouter = express.Router();

userRouter.post('/signup',expressAsyncHandler(async (req, res) => {

const newUSer = new User({
  name: req.body.name,
  email: req.body.email,
  password: bcrypt.hashSync(req.body.password)
});
const user = await newUSer.save();
res.send({
  _id: user._id,
  name: user.name,
  email: user.email,
  isAdmin: user.isAdmin,
  token: generateToken(user),
});

}) );

node.js hash bcrypt salt
2个回答
0
投票

我在 userSchema 中将密码定义为数字的问题,所以我将其更改为字符串 然后我在 userRouter 中做了这个改变 密码:bcrypt.hashSync(req.body.password, 10) 代替 密码:bcrypt.hashSync(req.body.password)


0
投票

错误信息:

需要数据和盐

通过传递 num salt rounds(或生成的 salt)来修复:

hashSync(req.body.password, 10)

来源:npm

© www.soinside.com 2019 - 2024. All rights reserved.