Vue中用户登录加盐(salt)

2,106 阅读1分钟

所谓加Salt,就是加点“佐料”。当用户首次提供密码时(通常是注册时),由系统自动往这个密码里加一些“Salt值”,这个值是由系统随机生成的,并且只有系统知道。然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的“Salt值”,然后散列,再比较散列值,已确定密码是否正确。

这样,即便两个用户使用了同一个密码,由于系统为它们生成的salt值不同,他们的散列值也是不同的。即便黑客可以通过自己的密码和自己生成的散列值来找具有特定密码的用户,但这个几率太小了(密码和salt值都得和黑客使用的一样才行)。

算法

加salt

安装依赖


npm install -S crypto

代码实例


import crypto from 'crypto'

methods:{

 login(salt){

               //salt通过API请求获得

               let passMd5 = _this.getMD5(_this.formLogin.password.trim());
 
               let pass = _this.getMD5(passMd5 + salt);

              //登录请求

 }
 
getMD5(pass){

                 let md5 = crypto.createHash("md5");
 
                 md5.update(pass);
 
                 return md5.digest('hex')
 
 }

}

文献

加盐密码保存的最通用方法是?