해싱 = DB에 비밀번호를 저장할때 랜덤한 값으로 저장시켜주는걸 의미.
단방향 함수, (무조건 비밀번호 => 해싱 값 (NO! 해싱값 -> 비밀번호))
이번강의는 bcrypt를 통해 해싱을 함
bcrypt.hash(password what we write, saltRounds, function(err,hash) { });
saltRounds = salt(소금)
을 몇번 둘를지 설정
소금이란 ? 기존비밀번호에 덧대어서 출력값을 더 랜덤하게 바꿔주는역할을 함.
userSchema.pre("save", async function () {
this.password = await bcrypt.hash(this.password, 5);
});
pre.
미들웨어를 이용해 hash
함수를 만들어 실행시켜준다.