问题描述
早上好 我在节点 js 中使用 bcrypt 加密密码有问题 我的比较变量返回 false 我的代码在我的数据库中插入我的密码(法语中的 motDePasse)
// con.escapeId(sorter);
//ICI CRYPTAGE DE motDePasse bcrypt
motDePasse = bcrypt.hashSync(motDePasse,10);
//var sql = "INSERT INTO `users` (`id`,`first_name`,`last_name`,`telephone`,`user_name`,`password`,`adresseMail`,`rue`,`codePostal`,`ville`,`confirmation`) VALUES (NULL,'"+con.escapeId(nom)+"','"+con.escapeId(prenom)+"','"+con.escapeId(telephone)+"','"+con.escapeId(pseudo)+"','"+con.escapeId(motDePasse)+"','"+con.escapeId(adresseMail)+"','"+con.escapeId(rue)+"','"+con.escapeId(codePostal)+"','"+con.escapeId(ville)+"','"+confirmation+"')";
var sql = "INSERT INTO `users` (`id`,'"+nom+"','"+prenom+"','"+telephone+"','"+pseudo+"','"+motDePasse+"','"+adresseMail+"','"+rue+"','"+codePostal+"','"+ville+"','"+confirmation+"')";
con.query(sql,function (err,result) {
if (err) throw err;
console.log("1 record inserted");
和我选择密码的代码
con.query("SELECT * FROM `users` WHERE `user_name`='"+login+"'",result) {
//con.query("SELECT * FROM `users` WHERE `user_name`='"+login+"' and password = '"+password+"'",result) {
if (err) throw err;
const comparison = bcrypt.compareSync(password,result[0].password);
console.log("comparison:"+comparison);
const 比较返回 false 我不明白为什么 谢谢你的帮助 :) 我已经听从了你的好建议 这是我的新代码
/ICI CRYPTAGE DE motDePasse bcrypt
bcrypt.genSalt(10,function(err,salt) {//---
bcrypt.hash(motDePasse,salt,hash) {
console.log("hash:"+hash);
var sql = "INSERT INTO `users` (`id`,'"+hash+"','"+confirmation+"')";
con.query("SELECT * FROM `users` WHERE `user_name`= ?",[login],result) {
if (err) throw err;
console.log("password:"+password);
bcrypt.compare(password,result[0].password,result) {
console.log("result:"+result);
});
let motDePasse=req.body.motDePasse.replace(/<[^>]+>/g,'');
我删除它,一切都很好,感谢您的帮助:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)