@iredium/butterfly
Version:
Express API Framework
37 lines (36 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var bcrypt = require("bcrypt");
var SALT_WORK_FACTOR = 10;
function hashCallback(resolve, reject) {
return function (err, hash) {
if (err)
return reject(err);
resolve(hash);
};
}
function genSaltCallback(plainString, resolve, reject) {
return function (err, salt) {
if (err)
return reject(err);
bcrypt.hash(plainString, salt, hashCallback(resolve, reject));
};
}
exports.generate = function (plainString) {
return new Promise(function (resolve, reject) {
bcrypt.genSalt(SALT_WORK_FACTOR, genSaltCallback(plainString, resolve, reject));
});
};
function compare(plainString, hashedString) {
return new Promise(function (resolve, reject) {
bcrypt.compare(plainString, hashedString, function (err, isMatch) {
if (err) {
reject(isMatch);
}
else {
resolve(isMatch);
}
});
});
}
exports.compare = compare;