前后端分离------后端创建笔记(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、登录接口我要做一个加密,这是我们要做的第一件事情

1.1 找到我们新增接口这个位置

2、目前这个逻辑非常简单,用户新增之前,给他一次加密就行,这里建议使用md不可加密的方式

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

3.1 完整写法

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

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

5 我们可以配置一个Bean

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

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

7 点一下左面这个

8 我们现在常用就是这个

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

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

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

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

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

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

15、重启一下项目

16、新增一条数据

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

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

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

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

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

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

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

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

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

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

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

28、他会帮你实现比较

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

29.1

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

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

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

相关推荐
三水不滴2 小时前
Redis 过期删除与内存淘汰机制
数据库·经验分享·redis·笔记·后端·缓存
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [drivers][i2c]i2c-dev
linux·笔记·学习
土拨鼠烧电路3 小时前
笔记03:业务语言速成:“人、货、场”模型与IT系统全景图
笔记
2301_812731414 小时前
CSS3笔记
前端·笔记·css3
小乔的编程内容分享站5 小时前
记录使用VSCode调试含scanf()的C语言程序出现的两个问题
c语言·开发语言·笔记·vscode
中屹指纹浏览器6 小时前
2026年指纹浏览器技术迭代与风控对抗演进
经验分享·笔记
1104.北光c°6 小时前
【从零开始学Redis | 第一篇】Redis常用数据结构与基础
java·开发语言·spring boot·redis·笔记·spring·nosql
代码游侠8 小时前
C语言核心概念复习(一)
c语言·开发语言·c++·笔记·学习
tb_first8 小时前
万字超详细苍穹外卖学习笔记1
java·jvm·spring boot·笔记·学习·tomcat·mybatis
今儿敲了吗8 小时前
10| 扫雷
c++·笔记·学习