#10 Bcrypt로 비밀번호 암호화 하기
2022. 8. 3. 14:02ㆍTIL/따라하며 배우는 노드 리액트
728x90
[인프런] 따라하며 배우는 노드, 리액트 시리즈 - 기본강의를 들으며 정리한 내용입니다.
데이터를 받은 그대로 저장하면 안전하지 않기때문에 Bcrypt를 이용하여 비밀번호를 암호화 한 뒤 데이터 베이스에 저장해 줘야 한다.
- Bcrypt 설치하기 npm install bcrypt --save
- models/User.js 파일 수정 (bcrypt 사용방법 참고)
const bcrypt = require('bcrypt');
const saltRounds = 10 //salt의 글자 수
userSchema.pre('save', function(next){
//user가 저장되기 전에 실행되는 함수
const user = this;
if(user.isModified('password')){
//비밀번호가 변경될때만 실행
bcrypt.genSalt(saltRounds, function(err, salt){
if(err) return next(err)
bcrypt.hash(user.password, salt, function(err, hash){
if(err) return next(err)
user.password = hash
next() //register route의 user.save 함수 실행
})
})
}
}
'TIL > 따라하며 배우는 노드 리액트' 카테고리의 다른 글
#13 Auth 기능 만들기 (0) | 2022.08.04 |
---|---|
#11,12 로그인 기능 with Bcrypt, jsonwebtoken (0) | 2022.08.04 |
#9 비밀 설정 정보 관리 (0) | 2022.08.03 |
#8 Nodemon 설치 (0) | 2022.08.03 |
#7 BodyParser & PostMan & 회원 가입 기능 (0) | 2022.08.03 |