UNPKG

@iredium/butterfly

Version:
37 lines (36 loc) 1.07 kB
"use strict"; 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;