Files
2024-01-23 22:28:46 +01:00

38 lines
1.1 KiB
JavaScript

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}