前后端分离------后端创建笔记(09)密码加密网络安全

本文章转载于【SpringBoot+Vue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客

仅用于学习和讨论,如有侵权请联系

源码:https://gitee.com/green_vegetables/x-admin-project.git
素材:https://pan.baidu.com/s/1ZZ8c-kRPUxY6FWzsoOOjtA 提取码:up4c
项目概述笔记:https://blog.csdn.net/m0_37613503/article/details/128961102
数据库笔记:https://blog.csdn.net/m0_37613503/article/details/128961401
前端笔记:https://blog.csdn.net/m0_37613503/article/details/128961447
后端笔记:https://blog.csdn.net/m0_37613503/article/details/128961569

1、登录接口我要做一个加密,这是我们要做的第一件事情

前后端分离------后端创建笔记(09)密码加密网络安全_第1张图片1.1 找到我们新增接口这个位置

前后端分离------后端创建笔记(09)密码加密网络安全_第2张图片

2、目前这个逻辑非常简单,用户新增之前,给他一次加密就行,这里建议使用md不可加密的方式前后端分离------后端创建笔记(09)密码加密网络安全_第3张图片

3、我们先导入一个依赖,具体导这个

前后端分离------后端创建笔记(09)密码加密网络安全_第4张图片

 3.1 完整写法

前后端分离------后端创建笔记(09)密码加密网络安全_第5张图片

4、我们刷新一下Maven看看有没有出错误

前后端分离------后端创建笔记(09)密码加密网络安全_第6张图片

4.1 接下来,我写到启动类上

前后端分离------后端创建笔记(09)密码加密网络安全_第7张图片

5 我们可以配置一个Bean

前后端分离------后端创建笔记(09)密码加密网络安全_第8张图片

6 这个passwordEncoder我们可以可以点进去看一看

前后端分离------后端创建笔记(09)密码加密网络安全_第9张图片

6.1 发现他里面是一个接口,我们得创建一个子类对象

前后端分离------后端创建笔记(09)密码加密网络安全_第10张图片

7 点一下左面这个

前后端分离------后端创建笔记(09)密码加密网络安全_第11张图片

8 我们现在常用就是这个

前后端分离------后端创建笔记(09)密码加密网络安全_第12张图片

9、我们new一个对象,new的这个对象是密码的控制类,写完之后,我们就可以用它了

前后端分离------后端创建笔记(09)密码加密网络安全_第13张图片

10、来到我们之前的控制器当中

前后端分离------后端创建笔记(09)密码加密网络安全_第14张图片

11、我们注入一下,把他注入一下

前后端分离------后端创建笔记(09)密码加密网络安全_第15张图片

12、然后在这里做一下加密处理

前后端分离------后端创建笔记(09)密码加密网络安全_第16张图片

13、它里面有一个转码方法,encode

前后端分离------后端创建笔记(09)密码加密网络安全_第17张图片

14、将用户传入的密码传入过去,这样就做好了,他就帮我们做了一个加密的控制,比如你创建了一二三四五六,每一次他都做了加语言的处理

前后端分离------后端创建笔记(09)密码加密网络安全_第18张图片

15、重启一下项目

前后端分离------后端创建笔记(09)密码加密网络安全_第19张图片

16、新增一条数据

前后端分离------后端创建笔记(09)密码加密网络安全_第20张图片

17、新增成功,这就是我们加密后的语言

前后端分离------后端创建笔记(09)密码加密网络安全_第21张图片

18、这数据库的两条数据其实都是一二三四五六,但是由于进行了加密处理,他进行了加语言的处理,这样新增的接口已经搞定了,现在我们看一看登录的逻辑。

前后端分离------后端创建笔记(09)密码加密网络安全_第22张图片

19、现在我想问你如何登录呢?现在看一下我们的登录逻辑,找到我们的serive,根据我们的用户和密码去查询,我们的serive

前后端分离------后端创建笔记(09)密码加密网络安全_第23张图片

20、哪怕在加密之前,做同样的密码处理也查不出来,因为我第一次插入的123456,和第二次插入的123456,同一个字符串不是同样的值,所以你就没有办法通过这个查询去查到

前后端分离------后端创建笔记(09)密码加密网络安全_第24张图片

21、所以你怎么办那?那你怎么查那,只能先根据用户名来查,再来做判断,这里先将老逻辑注释掉,然后再重新写份新的 

前后端分离------后端创建笔记(09)密码加密网络安全_第25张图片

22、新的话我就要根据用户,而不是用户名和密码进行查询了

前后端分离------后端创建笔记(09)密码加密网络安全_第26张图片

23、所以这个密码我暂时就不要了

前后端分离------后端创建笔记(09)密码加密网络安全_第27张图片

24、查完之后,再来比对这个密码,结果不为空

前后端分离------后端创建笔记(09)密码加密网络安全_第28张图片

25 怎么进行匹配,给他加一个判断,给他加一个@Autowired注入一下 

前后端分离------后端创建笔记(09)密码加密网络安全_第29张图片

26、他提供了一个matches方法,encodepassword,是已转码的密码,已转码的密码就是数据库里的密码

前后端分离------后端创建笔记(09)密码加密网络安全_第30张图片

27、前面就是原始的,就是已经传入的

前后端分离------后端创建笔记(09)密码加密网络安全_第31张图片

28、他会帮你实现比较

前后端分离------后端创建笔记(09)密码加密网络安全_第32张图片

29、传入就是他,他是第一个参数

前后端分离------后端创建笔记(09)密码加密网络安全_第33张图片

29.1

30、第二个参数是我们从数据中已经查出来的,已转码的

前后端分离------后端创建笔记(09)密码加密网络安全_第34张图片

前后端分离------后端创建笔记(09)密码加密网络安全_第35张图片

31、现在就可以了,解决了我们密码的问题

前后端分离------后端创建笔记(09)密码加密网络安全_第36张图片

32、你是运维人员,你要拿着密码跑路,你也破解不了

你可能感兴趣的:(javaweb,笔记)