javascript - 如何使用 bcrypt 比较功能
问题描述
我在 b crypt 中的比较功能有问题,我有一个盐密码我无法将密码与数据库中的加密密码进行比较这是我的代码...
router.post('/login', (req, res) => {
let userName = req.body.userName;
let password = req.body.password;
connection.query(
SELECT_ALL_USERS_QUERY + ' WHERE userName=?',
[userName],
(err, results, fields) => {
if (results[0].password) {
bcrypt.compare(password, results[0].password, (err, result) => {
console.log(password);
console.log(results[0].password);
if (result) {
res.send();
} else {
return res.status(400).send();
}
});
}
}
);
});
router.post('/add', (req, res) => {
const {
firstName = req.body.firstName,
lastName = req.body.lastName,
userName = req.body.userName,
password = req.body.password,
email = req.body.email
} = req.query;
const salt = 16;
bcrypt.hash(password, salt, (err, hashPass) => {
if (err) throw err;
const INSERT_USERS_QUERY =
'INSERT INTO users (' +
'firstName, lastName, userName, password, email) values(' +
`'${firstName}','${lastName}','${userName}','${hashPass}','${email}')`;
connection.query(INSERT_USERS_QUERY, (err, results) => {
if (err) {
return res.send(err);
} else {
return res.send('Successfuly added user');
}
});
});
});
谁能帮我..
解决方案
推荐阅读
- typo3 - 如何克服typo3中的filetime()错误
- reactjs - ReactJS - 屏幕缩小时将溢出的元素放入“...”下拉按钮中
- php - 我可以创建一个下拉onchange函数一一更改多个表行中的下拉值吗
- google-app-maker - 如何区分一个函数是客户端脚本还是服务端脚本
- vb.net - VB.Net 获取以下 3 列的总和
- java - Keycloak:自定义端点的 REST url
- mongodb - 无法在 mac os 10.12 上 brew install mongodb
- java - 如何设置饼图中显示的标签数量?
- three.js - 如何将three.js场景快照附加到图像,并单击恢复它
- html - 图像不适合父容器