Функция Async или Sync bcrypt для использования в 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;
    });
});

Не могли бы вы объяснить мне, какой способ лучше и почему? Благодарю вас!

8
задан Andrey Elenskiy 23 July 2012 в 03:00
поделиться