由于原来写项目的时候,也是用网上一些方案,采用的嵌套md5加密算法
现在呢,先采用混合加密算法(比如:sha(md5(xxx)))这种方式
上午追了一上午的源码,通过入口
subject.login
一直追踪到密码匹配,因为我想找到用户传递过来的密码,shiro拦截后进行加密后,我再进行一层加密
于是乎,追踪到下面的方法
这是判断:加密后的密码与数据库保存的加密密码是否一致
我当时就是想要重写这个方法,然后在这里对 tokenHashedCredentials sha(xxx)加密
不过这里我重写后,依然没有跳入我重写的这个方法(不过这个在修改shiro的匹配规则是有用的)
比如你想要改写shiro默认的验证规则,你就需要重写这个方法,我这里使用的是springboot2.0,
感觉应该是没有将该类注入啥的,也就不去找相应的问题原因了
中午一觉醒来,突然来了灵感,如果想要混合加密的话
首先可以在下图中的密码位置,添加一层数据加密
第一层加密之后,才会通过shiro的配置加密(也就是第二层加密)
而这时,数据库里面存储的也是二次加密之后的密码,此时可以完成正常的复杂加密算法