ハッシュを作成する関数
ハッシュの作成とハッシュの検証に使用する関数を作成するには、次のモジュールをインストールする必要があります.
「モデルメソッド」は、モデルですぐに使用できる関数を指します.モデルメソッドには、次の2つがあります.インスタンスメソッド=インスタンス(割り当てられた部分)で使用可能な関数 静的方法=モデルで使用可能な関数
yarn add bcrypt
モデルメソッドの作成
「モデルメソッド」は、モデルですぐに使用できる関数を指します.モデルメソッドには、次の2つがあります.
インスタンスメソッド、静的メソッドの区別
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;
Reference
この問題について(ハッシュを作成する関数), 我々は、より多くの情報をここで見つけました https://velog.io/@doyoon9601/해시를-만드는-함수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol