users.js 915 Bytes
var mongoose = require('mongoose');
var bcrypt = require('bcrypt-nodejs');

var userSchema = mongoose.Schema
(
    {
        id: String,
        pwd: String,
        name: String
    }
);

// 패스워드 암호화
userSchema.methods.generateHash = function(password)
{
    // password hash를 만든다
    return bcrypt.hashSync(password, bcrypt.genSaltSync(8), null);
};

// 패스워드 검증
userSchema.methods.validPassword = function(password)
{
    // 기존의 해쉬값과 들어온 패스워드를 해쉬값으로 만든 값을 비교한다.
    // 주의! 기존의 값이 해쉬가 아니라면 비교불가. 따라서 에러.
    // 또한 나는 bcrypt를 bcryt로 잘못 썼는데 잘 안보인다... 조심해라...
    //var good = bcrypt.hashSync(this.pwd, bcrypt.genSaltSync(8), null);
    return bcrypt.compareSync(password, this.pwd);
};

module.exports = mongoose.model('user',userSchema);