해시를 만드는 함수
해시를 만드는 함수와 해시를 검증하는 함수를 만들기 위해서는 아래의 모듈을 설치해주어야합니다!
yarn add bcrypt
모델 메서드 만들기
모델 메서드는 모델에서 바로 사용할수 있는 함수를 말해요! 모델 메서드는 두가지 종류가 있습니다.
- 인스턴스 메서드 = 인스턴스(할당된 부분)에서 사용 가능 함수
- 스태틱 메서드 = 모델에서 바로 사용할 수 있는 함수
인스턴스 메서드, 스태틱 메서드 구분
import mongoose, {Schema} from "mongoose"
import bcrypt from "bcrypt"
const UserSchema = new Schema({
username: String,
hashedPassword: String,
});
UserSchema.methods.setPassword = async //인스턴스
function(password){
const hash = await bcrypt.hash(password, 10);
this.hashedPassword = hash;
}
UserSchema.methods.checkPassword = async //인스턴스
function(password){
const result = await bcrypt.compare(password, this.hashedPassword);
return result; //true/ false
}
UserSchema.static.findByUsername = //스태틱
function(username){
return this.findOne({username});
};
const User = mongoose.model("User", UserSchema);
export default User;
Author And Source
이 문제에 관하여(해시를 만드는 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@doyoon9601/해시를-만드는-함수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)