Я попытался вставить значение шифрования в db, я могу зашифровать значение, которое зашифрованное значение не может быть вставлено в db.шифрование в узле js
app.post('/insert', function (req, res) {
// var Fname=req.body.fname;
// var Lname=req.body.pwd;
var data = {
Fname: req.body.fname,
Lname: req.body.Lname
};
function hashP(getit, cb) {
bcrypt.genSalt(15, function (err, salt) {
if (err) {
return console.log(err);
}
cb(salt);
bcrypt.hash(getit, salt, function (err, gotit) {
if (err) throw err;
return this.cb(null, gotit);
})
})
}
hashP(data.Lname, function (err, gotit) {
if (err) throw err;
data.Lname = hash;
})
console.log(data.Lname);
con.query("insert into test set ?", [data], function (err, rows) {
if (err) throw err;
res.send("Value has bee inserted");
})
})
Это мой HTML страница формы:
<body>
<form action="http://localhost:8888/insert" method="POST" >
<label>Name:</label><input type="text" name="fname"></br>
<label>Lname:</label><input type="text" name="Lname"></br>
<button type="submit">Submit</button>
</form>
</body>
Какая ошибка? –
У меня нет никакой ошибки данные, которые поступают из html-формы, непосредственно вставленной в db. Но он не преобразуется как данные шифрования. И когда я проверяю терминал, я получаю два значения Lname, это прямые данные, а другой - зашифрованные данные. – chozhan
Это выглядит неправильно: 'data.Lname = hash;' потому что 'hash' не определен нигде. Вы имели в виду использовать 'gotit' вместо этого? – jfriend00