Files
bamboo/app/permission/components/encrypt/index.js
T
2022-07-07 22:16:39 +08:00

24 lines
914 B
JavaScript

const crypto = require('crypto');
module.exports = {
// 随机数(盐值)
getRandomSalt() {
return Math.random().toString().slice(2, 5);
},
// 加密用户密码(原始密码,盐值)
// 密码同样是123456,由于采用了随机盐值,前后运算得出的结果是不同的。
// 这样带来的好处是,多个用户,同样的密码,攻击者需要进行多次运算才能够完全破解。
// 同样是纯数字3位短盐值,随机盐值破解所需的运算量,是固定盐值的1000倍。
cryptPwd(password, salt) {
// 密码“加盐”
const saltPassword = password + ':' + salt;
// 加盐密码的md5值
const md5 = crypto.createHash('md5');
return md5.update(saltPassword).digest('hex');
},
// 密码验证,如果验证通过 返回 true
cryptPwdVerification(password, salt, user_password_md5) {
return this.cryptPwd(password, salt) === user_password_md5;
},
}