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>
무엇이 오류입니까? –
DB에 직접 삽입 된 html 형식의 데이터가 오류가 발생하지 않았습니다. 그러나 암호화 된 데이터로 변환되지는 않습니다. 그리고 터미널에 체크인 할 때 두 개의 Lname 값을 얻었습니다. 하나는 직접 데이터이고 다른 하나는 암호화 된 데이터입니다. – chozhan
'hash'가 어디에도 정의되어 있지 않기 때문에 이것은 틀린 것 같습니다 :'data.Lname = hash;'. 'gotit'을 대신 사용 하시겠습니까? – jfriend00