[英]hashed password not works with me
我不知道為什么這個哈希密碼代碼不起作用。 我確實安裝了bcrypt
,而且,如果密碼相同,它應該轉到行( res.send("testing")
),但無論如何在所有情況下密碼都不匹配,即使它們相同。
這是我的代碼:
const mysql = require('mysql');
const jwt = require('jsonwebtoken');
const bcrypt = require('bcryptjs');
const db = mysql.createConnection({
host: process.env.DATABASE_host,
user: process.env.DATABASE_user,
password: process.env.DATABASE_password,
database: process.env.DATABASE,
});
exports.form = (req, res) => {
console.log(req.body);
const { name, email, password, confirmPassword } = req.body;
db.query(
'SELECT email FROM users WHERE email=?',
[email],
async (error, results) => {
if (error) {
console.log(error);
}
if (results.length > 0) {
return res.render('form', {
message: 'that email is already in use',
});
} else if (password !== confirmPassword) {
return res.render('form', {
message: 'passwords not match',
});
}
let hashedPassword = await bcrypt.hash('password', 8);
console.log(hashedPassword);
res.send('testing');
}
);
};
``
[enter image description here][1]
[1]: https://i.stack.imgur.com/ToNvN.png
and always (passwords not match) comes even as u see in pic the passwords are same
每次調用bcrypt.hash()
都會得到不同的哈希字符串,即使密碼相同,這是因為哈希被加鹽。
要檢查散列是否相等,您需要使用bcrypt.compare()
進行測試,您不能直接與散列進行比較。 一些庫也稱它為bcrypt.verify()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.