学习记录----b站:编程不良人 【 2020最新版Shiro教程,整合SpringBoot项目实战教程】
一、MD5算法简介
作用:一般用来加密 或者 签名(校验和)
特点:MD5算法不可逆; 如果内容相同,无论执行多少次md5生成结果始终是一致的。
生成结果:始终是一个16进制32位长度的字符串
+salt(盐)的原因:防止被一些采用穷举算法的网站破解简单的密码。
二、MD5 + Salt 执行流程
实际应用是将盐和散列后的值存在数据库中,自动realm从数据库取出盐和加密后的值由shiro完成密码检验。
三、shiro中 MD5 + Salt 实现
通过设置Realm的匹配器来加入MD5 + Salt :
加入MD5 + Salt + Hash :
(shiro默认的Hash次数是1,Realm里自定义设置的次数不是1时,匹配器必须设置成一样的次数才可以!)