大家应该都知道涉及到任何一个项目,登录的密码是不会采用明文的方式进行存储的,都经过严格的加密方式来存储密码。
但是在前面的学习中,因为没有使用数据库来存放登录的用户名和密码信息,但是我们怎么才知道前台传过来的密码到底是采用什么方式呢,我们怎么来改变现有的方式来对密码进行严格的加密呢?
现在我们先来通过打断点的方式来获取加密的方式吧。
回想前几节中前台传入的用户名和密码是封装到了UsernamePasswordToken 对象中,其实仔细想想我们可以在这个对象中获取密码的方法上(242行)打个断点。即:
接下来,再一次跑项目:http://localhost:8080/Shiro-03/,点击登录,马上进入到打到的断点出,接下来就一步一步走,马上就会看到密码采用的是什么方式了?
通过查看,可以知道是通过 AuthenticatingRealm的 credentialsMatcher 属性来进行的密码的比对!
但是,怎么才能把客户输入的密码进行MD5加密呢?
那接下来的一节就来验证这个秘密吧!