Javascript 用bcrypt散列密码
我需要在数据库中插入密码之前对密码进行散列。我有bcrypt函数,但我不知道如何将其放入常量中,并使用它将其插入mysql 我使用的是bcrypt,那么我应该采用什么方法来对密码进行散列呢Javascript 用bcrypt散列密码,javascript,mysql,node.js,bcrypt,Javascript,Mysql,Node.js,Bcrypt,我需要在数据库中插入密码之前对密码进行散列。我有bcrypt函数,但我不知道如何将其放入常量中,并使用它将其插入mysql 我使用的是bcrypt,那么我应该采用什么方法来对密码进行散列呢 async postCompletedetails(req, res) { const company = req.params.company; const name = req.params.name; const password = req.params.password;
async postCompletedetails(req, res) {
const company = req.params.company;
const name = req.params.name;
const password = req.params.password;
bcrypt.hash(password, saltRounds, (err, hash) => {
});
if (
company !== undefined &&
name !== undefined &&
password !== undefined
) {
const { token } = req.headers;
const decoded = jwt.verify(token, process.env.JWT_ACCOUNT_ACTIVATION);
const id = decoded.id;
const update = await pool.query(
`UPDATE user SET Name_user= '${name}', password= '${password}' WHERE ID_user = ${id}`
);
const incompany = await pool.query(
`INSERT INTO company (Name_company) VALUES ('${company}') `
);
const inrelcompany = await pool.query(
`INSERT INTO rel_company_user (ID_company, ID_user) VALUES (LAST_INSERT_ID(), ${id})`
);
return res.json({
code: 200,
message: "todo bien... todo correcto y yo que me alegro",
password,
});
} else {
return res.json({
code: 400,
message: "Bro hiciste algo mal",
});
}
}好的,我有,但问题是我无法获得哈希密码,hassPass的de值未定义,我应该更改什么
const hashPass = await bcrypt.genSalt(saltRounds, function (err, salt) {
if (err) {
throw err
} else {
bcrypt.hash(password, salt, function(err, hash) {
if (err) {
throw err
} else {
console.log(hash)
}
})
}
})
密码正在被散列,我现在将其用于控制台.log,这将不起作用,因为如果不等待
bcrypt.hash
,函数将是异步的,常量hashPass
将是未定义的。这将对您有所帮助
const hashPass = await bcrypt.genSalt(saltRounds, function (err, salt) {
if (err) {
throw err
} else {
bcrypt.hash(password, salt, function(err, hash) {
if (err) {
throw err
} else {
console.log(hash)
}
})
}
})