关于shiro混合加密,我来说一下

由于原来写项目的时候,也是用网上一些方案,采用的嵌套md5加密算法

现在呢,先采用混合加密算法(比如:sha(md5(xxx)))这种方式

上午追了一上午的源码,通过入口

subject.login

一直追踪到密码匹配,因为我想找到用户传递过来的密码,shiro拦截后进行加密后,我再进行一层加密

于是乎,追踪到下面的方法

这是判断:加密后的密码与数据库保存的加密密码是否一致

我当时就是想要重写这个方法,然后在这里对 tokenHashedCredentials sha(xxx)加密

不过这里我重写后,依然没有跳入我重写的这个方法(不过这个在修改shiro的匹配规则是有用的)

比如你想要改写shiro默认的验证规则,你就需要重写这个方法,我这里使用的是springboot2.0,

感觉应该是没有将该类注入啥的,也就不去找相应的问题原因了

 

中午一觉醒来,突然来了灵感,如果想要混合加密的话

首先可以在下图中的密码位置,添加一层数据加密

第一层加密之后,才会通过shiro的配置加密(也就是第二层加密)

而这时,数据库里面存储的也是二次加密之后的密码,此时可以完成正常的复杂加密算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值