hash는 못알아보게 다른 문자로 바꾼다는 거임 블록체인에 많이 쓰인다
const crypto = require('crypto')
router.post('/insert', async function(req, res, next) {
try{
console.log(req.body)
// salt
// hash(salt)는 abc -> askdlmdqwdmalasdmksadmkw
// hash(salt)는 abc -> askdlmdqwdmalasdmksadmkw
// abc가 같으면 뒤에가 같음 그래서 양념을 침 그걸 salt라 함 salt를 다르게 주면 다르게 나옴
const hash = crypto.createHmac('sha256', req.body.uid)
.update(req.body.upw).digest('hex');
const obj = {
_id : req.body.uid,
userpw : hash,
userage : Number(req.body.uage),
userbirth : req.body.ubirth,
useremail : req.body.uemail,
usercheck : req.body.ucheck,
usergender : Number(req.body.ugender),
}
console.log("member.js => /insert > obj", obj);
const dbConn = await db.connect(DBURL);
const coll = dbConn.db(DBNAME).collection("member");
const result = await coll.insertOne(obj);
console.log("member.js => /insert > result" ,result)
if(result.insertedId === req.body.uid){
return res.send({status: 200});
}
return res.send({status : 0})
}
catch(err){
console.error(err)
res.send({status: -1, result : err})
}
});
비밀번호가 같을 경우 hash로 됐는데 같을 수도 있음. 그럴때 양념을 친다 그걸 salt라고 함.
salt를 다르게 주면 암호가 같더라도 다르게 나타남
비밀번호가 같은데 아이디가 다르니 hash화 된 pw가 달라진다.