BAIGEwj 2022-04-13 20:32 采纳率: 100%
浏览 102
已结题

shiro的使用盐值加密登录注册获取token代码的正确编写方式

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上面搜,却啥也没查出来,恳请大家帮我理一理,我很菜,也可能问题是个离谱的问题,麻烦大家帮我解答下,非常感谢啦

  • 写回答

2条回答 默认 最新

  • 编号灬9527 2022-04-13 21:56
    关注

    密码凭证器不同,结果比对也不同,仔细想想区别在哪

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月22日
  • 已采纳回答 4月14日
  • 创建了问题 4月13日

悬赏问题

  • ¥15 请问各位,如何在Jetson nano主控板的Ubuntu系统中安装PyQt5
  • ¥15 MAC安装佳能LBP2900驱动的网盘提取码
  • ¥400 微信停车小程序谁懂的来
  • ¥15 ATAC测序到底用什么peak文件做Diffbind差异分析
  • ¥15 安装ubantu过程中第一个vfat 文件挂载失败
  • ¥20 GZ::CTF如何兼容一些靶机?
  • ¥15 etcd集群部署问题
  • ¥20 谁可以帮我一下问一下各位
  • ¥15 为何重叠加权后love图的SMD与svyCreateTableOne函数绘制基线表的不一致
  • ¥150 求 《小魔指》街机游戏机整合模拟软件