express 회원가입 시 암호 hash

이태규·2022년 1월 4일
0

express

목록 보기
15/28

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가 달라진다.

profile
한 걸음씩 나아가자

0개의 댓글