For Programmer
7. 데이터베이스 내의 비밀번호 암호화하기 - boiler-plate 제작(backend) 본문
React & Node.js 프로젝트/boiler-plate 제작
7. 데이터베이스 내의 비밀번호 암호화하기 - boiler-plate 제작(backend)
유지광이 2020. 7. 31. 22:42728x90
https://www.npmjs.com/package/bcrypt
비크립트 사이트
1. 회원가입데이터를 작성 후 회원가입 하는 API 전에 비밀번호를 암호화 하여 회원가입API로 넘길수 있도록 코드작성(models-User.js)
* 몽고DB에서 제공하는 pre 메서드를 이용한다.
const mongoose = require("mongoose");
const bcrypt = require("bcrypt");
const saltRounds = 10;
userSchema.pre("save", function (next) {
//save함수가 실행되기전에무엇을한다는의미
var user = this;
if (user.isModified("password")) {
//비밀번호를 암호화 시킨다.
bcrypt.genSalt(saltRounds, function (err, salt) {
if (err) return next(err); //next하면은 바로 user.save함수실행됨
bcrypt.hash(user.password, salt, function (err, hash) {
if (err) return next(err);
user.password = hash;
next();
});
});
} else {
//비밀번호를변경하지않을땐 그냥바로다음실행
next();
}
});
*postman으로 데이터를 보내본 실행결과
* 1234567이 hash값으로 변경되어 저장된다.
728x90
'React & Node.js 프로젝트 > boiler-plate 제작' 카테고리의 다른 글
9.Auth기능 만들기 - boiler-plate 제작(backend) (0) | 2020.08.01 |
---|---|
8. 로그인 기능 만들기 - boiler-plate 제작(backend) (0) | 2020.08.01 |
6. 비밀정보보호하기(github에 올리지않기) - boiler-plate 제작(backend) (0) | 2020.07.31 |
5.서버를 자동으로 새로고침해주는 모듈 - boiler-plate 제작(backend) (0) | 2020.07.31 |
4. postman을 이용한 회원가입기능 - boiler-plate제작(backend) (0) | 2020.07.31 |
Comments