Node.js 带bcrypt的数据和salt参数
我对我的每个订阅都使用了相同的模块,但我不知道为什么在这个模块中会出现这样的错误:需要数据和salt参数 代码是500 也许有更新?但是我找不到关于这个的任何东西。。。 还有我的代码Node.js 带bcrypt的数据和salt参数,node.js,express,bcrypt,saltedhash,Node.js,Express,Bcrypt,Saltedhash,我对我的每个订阅都使用了相同的模块,但我不知道为什么在这个模块中会出现这样的错误:需要数据和salt参数 代码是500 也许有更新?但是我找不到关于这个的任何东西。。。 还有我的代码 inscription: (req, res, next) => { const emailVerif = RegExp("([A-z]|[0-9])+@([A-z]|[0-9])+.[A-z]{2,3}"); const passwordVerif = RegExp(
inscription: (req, res, next) => {
const emailVerif = RegExp("([A-z]|[0-9])+@([A-z]|[0-9])+.[A-z]{2,3}");
const passwordVerif = RegExp(
"^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$"
);
/*stockage d'un mot de passe crypté dans la base de données apres le req*/
var salt = bcrypt.genSaltSync(10);
const hash = bcrypt.hashSync(req.body.password, salt);
if (
typeof req.body.restaurantName != "string" ||
typeof req.body.bossFirstName != "string" ||
typeof req.body.phone != "string" ||
typeof req.body.bossName != "string" ||
typeof req.body.adress != "string" ||
emailVerif.test(req.body.email) == false
) {
res.status(417);
res.json({
message:
"Veuillez compléter les champs obligatoires et respecter le format de saisie.",
});
} else if (passwordVerif.test(req.body.password) == false) {
res.status(417);
res.json({
message:
"Votre mot de passe doit comporter au minimum 8 caractères dont une minuscule, une majuscule, un chiffre et un caractère spécial.",
});
} else {
/*TEST ENVOI MAIL*/
let rand = new Array(10).fill("").reduce(
(accumulator) =>
accumulator +
Math.random()
.toString(36)
.replace(/[^a-z]+/g, "")
.substr(0, 5)
);
const newRestaurateur = new Restaurateur({
restaurantName: req.body.restaurantName,
bossFirstName: req.body.bossFirstName,
phone: req.body.phone,
email: req.body.email,
password: hash /*mdp hashé*/,
bossName: req.body.bossName,
adress: req.body.adress,
location: {
longitude: req.body.longitude,
latitude: req.body.latitude,
},
417
是一种高度专业化的HTTP状态代码。在这种情况下不要使用它。@O.Jones,好的,但是你认为他们的417和我的错误之间有什么问题吗?你确定req.body.password
实际上已经填充了吗?我console.log它,他在这里