00:00
下面我们来说一下这个密码的加密。什么叫密码的加密呢?上节课我们说过,实际上就是在数据表里边保存那个密码,不应该是铭文,比方说不应该是那个123456,而应该是123456加密之后的一个字符串。而且我们还要求。这个加密算法是不可逆的,什么意思呢?就是由那个字符串不能反推回来,以前那个密码是几,如果要能反推的话,这个加密就没有意义了。那著名的加密算法,比方说像MD5 sha1。其中这个MD5啊,在前一阶段,中国的一个女教授说这个算法是可逆的,但实际上他并没有把怎么是可逆的这个结论抛出来,所以说我们这个加密的话呢,我们还使用这个M第五加密。那么OK,我们来看一下程序,我们如何实现这个MD5加密呢?首先RO里边从数据库获取这个密码就应该是加密之后的一个字符串吧,对吧?那对于我们而言,我们就需要知道如何把一个密码给它加密成。
01:04
MD5之后的一个字母串。写下笔记哈,第一个问题。如何把一个字符串加密为MD5?第二个问题。我们如果把这个加密为这个MD5了,这个OK了是吧,那么我们从前台传的那个密码还是123456呢,那那个怎么加密成MD5之后的字符串呢?这个需要靠什么呀?这个就需要靠这个叫凭证匹配器,就这个CME,我们需要替换当前ROM的metro属性。把这个属性替换为谁呢?我们看一眼啊,CTRLT应该替换为这个什么呀,叫MD5CRE me,点进来我们发现它是过期的,怎么办呢?说呀,他推荐直接使用这个哈希的c metro设置这个加密属性就可以了。
02:19
直接使用这个对象。并设置。属性加密算法。即可,OK,就是这样的两个步骤,那第一个怎么写的话呢,我们还不知道,不过第二个现在我们可以来试一下,对吧。我们找到我们的这个,呃,配置文件。我们找到这个room。啊,这个RO的话呢,刚才我写过一遍哈,把这给它删掉,我们看如何来写它,首先写个property cred me,写个什么呀,写个内部in是不是。
03:08
哈西的cred指定它的加密算法就什么呀?哈西的,就这加说法,名字YMD5OK。指定了这个凭证匹配机之后的话呢,实际上现在还没有完,为什么呀,因为这个数据库里边取的这个值。还是一个铭文的是吧,但是现在指定这个呃,凭证PPT之后的话呢,实际上它会自动的把从前台输的那个密码变成M第五加密的。应该是这么样的一个效果,现在我们用debug跑一下。为什么可以用debt跑啊,因为。等一下哈。因为我当时那个username passport token那个get passport的方法还打了断点呢,对吧。
04:01
过来,我们看看效果,随便写。走起好了,停掉了,往前再往前。再往前,再往前,OK,我们来看这一步哈,看这个时候他用的这个匹配器,它是什么呢?叫哈希的credent credential me。进行密码的匹配进来。我们看诶,这个是加密之后那个吧,而这个还是那个123。456是不是,那这个是怎么加密的呢?看谁呀,是不是看他呀。看他点进来,我们看它是怎么加密的,再点进来,诶实际上的话呢,使用这样的一个方式就可以了。就是用它加密的早起。再重新来一遍。看着哈,随便写,写个123456进来。走。OK,我们看加密算法是MD5,看到了吧,以前的密码是123456,我们这里边没有什么呀,没有颜值,没有延值这块还有什么东西啊,可以加密的次数。
05:11
可以加密的次数,以前我没想过这个事儿,什么叫加密的次数呢?如果你123456仅经过一次MD5的话,实际上那个字符串还是比较常见的,如果你要是加密N多次的话,它是不是更安全的,就是加密之后那个结果再加密,再加密,再加密,就加密N多次,于是的话呢,我们指定一下这个加密的次数,CTRLC回来。我指定一下这个加密的次数在哪指定啊,配置文件里面指定是吧,这里边儿。指定加密的次数。就是这个呗,歪扭。我可以给他指定为一千零。24次。零完成指定完成之后的话呢,我们还需要干一件事,干什么事我得知道123456加上之后那个值是是多少啊,不就是这个吗。
06:00
写个string。算法叫MOD5。原密码。叫123456对吧,颜值没有,还有一个是加密的次数。我这个里边是1024。这个是最终的结果。走起。看一下。这个值的话呢,就是它注意这是加密1024次之后的一个结果,Debug再跑哦不是这个哈。Debug跑。这个时候我们看整个的这个结果是不是可以匹配的。
07:01
过来来,AA。123456走。走。再走,大家看。22F4。是不OK啊,这个时候怎么了,登陆就成功了。看他哎,这就成功了,诶这就是我们整个的一个什么叫密码的。M第五加密。但实际上这里面还有问题,有什么问题呢?我们下节课说。
我来说两句