-
작업일지 평문 저장되는 비밀번호를 해싱해서 저장하기Project 2021. 4. 19. 10:57
평문 저장되는 비밀번호를 해싱해서 저장하기
개인적으로 npm문서를 읽으려 시도할 수 있을만큼 성장한 것 같아 기쁘다.
옛날엔 문서만 읽을 줄 알면 다 되는줄 알았는데
구글링하고 다른 예제도 보고 콘솔로그도 열심히 찍어야한다.exports.join = async (req, res, next) => { const { name, email, password, password2 } = req.body; //유저 정보 일치성 확인 및 유효성 확인하는 코드는 생략// const NewUser = new User({ ...req.body }); try { //bycrpt bcrypt.genSalt(saltRounds, function (err, salt) { bcrypt.hash(NewUser.password, salt, function (err, hash) { // Store hash in your password DB. console.log(hash); //평문으로 된 비밀번호가 해싱됨을 확인 console.log(NewUser.password); NewUser.password = hash;//해싱된 암호로 변환 console.log(NewUser); NewUser.save(); //해싱된 암호와 함께 유저정보 저장 }); }); await NewUser.save(); return res.send({ success: true }); } catch (err) { return res.status(400).send({ err: err.message }); } };
여기서 어떤 변수에 New User의 비밀번호가 저장되는지 헷갈려서
그냥 하나하나 콘솔로그 찍어봤다.
역시 NewUser에 저장되어있길래,
해당 변수의 password 항목을 hash처리했다.
그리고, bcrypt function이하에서의 NewUser와 바깥부분에서의 NewUser가 달라 해싱된 암호로 저장되지않아서
저장까지 bcrypt function 안에서 해결하도록 했다.
'Project' 카테고리의 다른 글
node-schedule, node-cron 이용하기 (0) 2021.05.19 작업일지 bcrypt를 이용한 로그인 구현 (0) 2021.04.19 작업일지3 (0) 2021.04.16 작업일지 1 (0) 2021.04.15 [project] myBlog (with node.js) (0) 2021.04.04