shiro的使用盐值加密登录注册获取token代码的正确编写方式
例如:两种方法均使用SHA-256加密实现,userName,password是提交表单获得的参数,
登录时获取token代码如下
第一种:(我的)
String password = new Sha256Hash(password, userName, 10).toBase64();
UsernamePasswordToken token = new UsernamePasswordToken(userName, password);
第二种:(我同学的)
UsernamePasswordToken token = new UsernamePasswordToken(userName, password);
两种居然都能登录成功 我懵了 就觉得很奇怪
报错内容:我同学开始和我写的一样,就是第一种方式获取token,
org.apache.shiro.authc.IncorrectCredentialsException: Submitted credentials for token [org.apache.shiro.authc.UsernamePasswordToken - wuneil, rememberMe=false] did not match the expected credentials.
显示的是密码校验不正确,修改为第二种马上登录成功
我将Shiro底层代码实现都查看了一边,觉得可能是底层实现不一样,在CSDN上面搜,却啥也没查出来,恳请大家帮我理一理,我很菜,也可能问题是个离谱的问题,麻烦大家帮我解答下,非常感谢啦