00:00
下边呢,我们来说一下C是如何来比对这个密码的。我们首先把这个流程啊再理一下。最开始的时候的话呢,前面有一个表单提表单,表单提到哪呢?提到了handle。在handle这个login方法里面,我们获取了用户名和密码,然后掉了login方法,把封装了用户名和密码这个user name passport token往后传,传到哪儿啊,传到了ROM的这个。Do get on INF方法,这个token实际上就是我们调log in方法传的那个什么,这个I token吧,因此这个里边保存了用户名和密码。保存了从前台输入那个密码,然后利用这个用户名上数据库里边获取用户信息,获取用户信息,这里边这个密码是从数据库获取的,对吧?我们把这个密码封装成simple on info,这样的话呢,这就意味着有两个对象,一个对象叫username password token,这里边保存了前台输入的密码。
01:08
还有一个叫simple onation info,这里边保存了从数据库里边查询的密码,那么这个密码的比对就是zero完成的。问题来了,什么时候比的呢?怎么比的呢?那个代码能找到吗?一定是能够找到是吧,怎么找呢?一方面的话呢,我们可以从通过这块这个烙印一行一行往后走,但显然这样的话呢,找起来不是那么精准,有一种更快速定位的方法。怎么克制定位啊?他在比密码的时候,他一定会调用name password,那个get password方法或者是。一定会调用simple on keep INF for,那个get credential,一个方法是吧,在任何一一处打一个断点,停下来往前稍微找一下,就能够找到密码是如何进行比对的,于是的话呢,我们把这个user nameme pass token打开。
02:07
关联源代码找一下。嗯,这个应该在E盘Java open source。找到S。1.3.2这个打开。我们看一下。那个叫get password,我们找到了。Outlet大纲。Get password加上一个断点。Debug他们的服务器跑起来,这个时候一定会看到。代码停下来,然后往前稍微找一点,就应该能够找到密码比例的时刻,我们看看是不是这样。过来来,随便输哈。无所谓。走。好了,我们注意这个代码什么了,是不是停住了,这个时候就是那个什么叫get password,我们往前翻看。
03:02
Get c再往前,再往前,密码的比对。诶,我们看到这块的话呢,有一个密码的比对我们。过来看这两个密码,一个是前台输那个那么多个Z是吧,还有一个是123456就是这么比的,那再往前一点,我们再往前一点,诶这块的话呢,我们看到它是谁啊,这个实际上是那个RO。就我们自己定义那个room。然后密码是怎么比的呢?密码是通过这个credential me来进行比对的。好了,哎,得到这样的一个结论哈,密码的比对是。使用CME来进行比对的,OK,我们把笔记打开,我们来记一下。密码的。比对。通过什么呀,通过。
04:01
Di room。这个RO的负类,我们可以在这里边看是吧。通过这个ROM的。什么属性呢?这个属性应该叫拿过来大家看,诶,Get点开通过这个cred me来进行密码的比对。这个。属性来进行的密码的比对。这句话特别的关键,和。重要,为什么重要啊,因为我们现在这个密码呀,是铭文直接比的,什么叫铭文直接比的呢?就是说我这块获取这个密码,实际上是保存的那个123456,我们在数据表里边直接把这个密码的铭文保存进去了,这样显然是。不安全的,我获取的话应该获取一个什么呀,获取一个加密之后的密码,大家知道我的意思吧,那数据表里边不可能保存这么一个铭文,而保存的应该是加密之后的。
05:10
那么问题来了,我们如何来进行密码的加密呢?那实际上可以通过谁呀?可以就可以通过我们这个叫。Me control t看一下诶,它有这么多个实现类,这是一个接口,看到了MD5吧,那么下节课的话呢,我们就来说如何来使用MD5颜值加密。
我来说两句