Я использую bcrypt.hash в пароле, и этот хэш нормальный ... но когда я сохраняю этот хешированный пароль в mongodb с mongoose, это не тот же пароль, когда я хэширую пароль.
Пример:
хэш пароля: $ 2b $ 10 $ bUY / 7mrZd3rp1S7NwaZko.ShDFj47rAfdGHG1QcQxGdtvzaDd.WH2
пароль сохранен монго: $ 2b $ 10 $ fOLYjjib7ycRbq7BqzNdMuPNbTPjMIVAZ1QQzBvX5cMEhi6rERjJK
Мой регистрационный код пользователя:
req.body.password = await bcrypt.hash(req.body.password, 10);
const user = await User.create(req.body);
Logs.logRequest(item.path, { item });
user.password = undefined;
return res.status(201).send({
user,
token: await createToken(user),
});
Мой логин, код пользователя:
const passOk = await bcrypt.compare(password, user.password);
if (!passOk) {
Logs.logError(item.path, {
...item,
error: "Error",
});
Мой пароль в схеме пользователя:
password: {
type: String,
required: true,
select: false,
},
Когда я сравниваю, пароль всегда не равен