登录页面加密token和盐的作用

盐:

可以说盐是作用于注册,盐就是将用户输入的原始密码,加密后存进数据库,然后把盐(实际上是随机字符串)也存进数据库

Map<String, String> map = new HashMap<String, String>();
map.put("account", user_RegisterVo.getAccount());
map.put("password", user_RegisterVo.getPassword());

//new PasswordHelper()是生成盐的工具
new PasswordHelper().encryptPassword(map);
user_RegisterVo.setPassword(map.get("password"));
user_RegisterVo.setCredentialsSalt(map.get("credentialsSalt"));

这样即使是后台管理人员看到了数据库中的密码,也没有什么用,因为加密算法是没办法解密的,所以就达到了安全的作用。

那么盐为什莫存进数据库呢?

因为账号+密码+盐会生成--------->加密后的密码,用户在登录后首先根据账号获取到数据库中之前存的盐和加密后的密码1,然后根据数据库中的盐和用户输入的账号和密码生成加密后的密码2,然后如果密码1和密码2相等则账号密码正确

 

token:

token是作用于登录,就相当于我输入用户名和密码成功一次,后台就会给我生成一个tocken(相当于钥匙),我把token存入缓存中(相当于我拿着这把钥匙),去访问后台其他接口时候,拦截器一看我拿到了他给我生成的钥匙就会给我放行,否则如果我不拿钥匙想要访问后台的其他接口,拦截器是不会让我访问的

posted @ 2018-11-07 17:53  慧妃不美  阅读(726)  评论(0编辑  收藏  举报