const {PassCheck, PasswordGenerator } = require("auth-guardian") const passwordPolicyOptions = { minLength: process.env.PASSMINLENGTH, maxLength: process.env.PASSMAXLENGTH, minLower: process.env.PASSMINLOWERCASE, minUpper: process.env.PASSMINUPPERCASE, minNum: process.env.PASSMINNUMBERS, minSpecial: process.env.PASSMINSYMBOLS, specialChars: process.env.PASSSYMBOLS } const passwordPolicyOptionsGenerate = { minLength: 12, maxLength: 18, minLower: process.env.PASSMINLOWERCASE, minUpper: process.env.PASSMINUPPERCASE, minNum: process.env.PASSMINNUMBERS, minSpecial: process.env.PASSMINSYMBOLS, specialChars: process.env.PASSSYMBOLS } const passWordCheck = new PassCheck(parseInt(process.env.SaltRounds), passwordPolicyOptions) const passwordGen = new PasswordGenerator({passwordPolicyOptionsGenerate}) function verify(password, hash){ return passWordCheck.verifyPassword(password, hash) } function hash(password){ return passWordCheck.hashPassword(password) } function generatePassword(){ return passwordGen.Generate() } module.exports = {verify, hash, generatePassword}