현재 node.js에서 내 프로젝트의 인증 모듈을 만들려고하고 있습니까?해시를 생성하기 위해 node.js에서 사용할 비동기 또는 동기화 bcrypt 함수?
제가
즉 이미https://github.com/bnoguchi/mongoose-auth/blob/master/lib/modules/password/plugin.js https://github.com/Turbo87/locomotive-passport-boilerplate/blob/master/app/models/account.js
그러나, 어떤 이유로 그들이 bcrypt.hashSync() 함수를 사용하고, 해시를 생성 bcrypt 사용의 몇몇 예를 보았다.
User.virtual('password')
.get(function() {
return this.hash;
})
.set(function (password) {
bcrypt.hash('password', 10, function(err, hash) {
this.hash = hash;
});
});
당신이 어떤 방법이 더 나은 이유 설명해 주 시겠어요 : 그것은 시간이 걸리는 때문에 bcrypt 좋은이기 때문에, 즉, 대신 코드를 차단하지하기 위해 비동기 기능을 사용 현명하지 않을까요? 고맙습니다!
+1, 비동기는 확실히 적당한 선택이다; Mongoose와 같은 ODM을 사용할 때 getter와 setter는 비동기 적이 지 않기 때문에 일부 작성자는 내부에서 동기 메소드를 대신 사용한다는 점을 기억해야합니다. 이것은 일반적으로 잘못된 행동입니다. 과거에는 'setPassword'와 같은 모델에서 비동기 암호 집합을 수행하는 사용자 지정 메서드를 사용했습니다. –
@BrandonTilley는 맞춤 메소드의 예를 들어 줄 수 있습니까? –
@lori 오,이 글을 올린 지 오래되었지만, 이와 비슷한 것은 가까운 것 같습니다. https://gist.github.com/BinaryMuse/7983335 –