UNPKG

@brontosaurus/db

Version:
36 lines (35 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.verifyResetToken = exports.verifySpecialPassword = exports.verifyPreviousPassword = exports.garblePassword = void 0; const crypto_1 = require("crypto"); const garblePassword = (password, salt) => { const salted = password + ':' + salt; const md5 = crypto_1.createHash('md5').update(salted); return md5.digest('hex'); }; exports.garblePassword = garblePassword; const verifyPreviousPassword = (garbledPassword, previousPassword) => { return garbledPassword === previousPassword.password; }; exports.verifyPreviousPassword = verifyPreviousPassword; const verifySpecialPassword = (garbledPassword, specialPassword) => { if (Boolean(specialPassword.suspendedAt) || Boolean(specialPassword.suspendedBy)) { return false; } const presentTime = new Date().getTime(); const expireTime = specialPassword.expireAt.getTime(); if (presentTime > expireTime) { return false; } return garbledPassword === specialPassword.password; }; exports.verifySpecialPassword = verifySpecialPassword; const verifyResetToken = (garbledPassword, resetToken) => { const presentTime = new Date().getTime(); const expireTime = resetToken.expireAt.getTime(); if (presentTime > expireTime) { return false; } return garbledPassword === resetToken.password; }; exports.verifyResetToken = verifyResetToken;