如何解决如何在节点 js 中使用 bcrypt 加密密码?
早上好 我在节点 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 举报,一经查实,本站将立刻删除。