当前位置: 首页 > news >正文

前后端分离------后端创建笔记(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、你是运维人员,你要拿着密码跑路,你也破解不了

相关文章:

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

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…...

《Effects of Graph Convolutions in Multi-layer Networks》阅读笔记

一.文章概述 本文研究了在XOR-CSBM数据模型的多层网络的第一层以上时,图卷积能力的基本极限,并为它们在数据中信号的不同状态下的性能提供了理论保证。在合成数据和真实世界数据上的实验表明a.卷积的数量是决定网络性能的一个更重要的因素,而…...

低代码助力传统制造业数字化转型策略

随着制造强国战略逐步实施,制造行业数字化逐渐进入快车道。提高生产管理的敏捷性、加强产品的全生命周期质量管理是企业数字化转型的核心诉求,也是需要思考的核心价值。就当下传统制造业的核心问题来看,低代码是最佳解决方案,那为…...

什么叫做云计算

什么叫做云计算 相信大多数人对云计算或者是云服务的认识还停留在仅仅听过这个名词,但是对其真正的定义或者意义还不甚了解的层面。甚至有些技术人员,如果日常的业务不涉及到云服务,可能对其也只是一知半解的程度。首先云计算准确的讲只是云服…...

springboot 使用zookeeper实现分布式队列

一.添加ZooKeeper依赖&#xff1a;在pom.xml文件中添加ZooKeeper客户端的依赖项。例如&#xff0c;可以使用Apache Curator作为ZooKeeper客户端库&#xff1a; <dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</…...

地理数据的双重呈现:GIS与数据可视化

前一篇文章带大家了解了GIS与三维GIS的关系&#xff0c;本文就GIS话题带大家一起探讨一下GIS和数据可视化之间的关系。 GIS&#xff08;地理信息系统&#xff09;和数据可视化在地理信息科学领域扮演着重要的角色&#xff0c;它们之间密切相关且相互增强。GIS是一种用于采集、…...

Android 13 Media框架(3)- MediaPlayer生命周期

上一节了解了MediaPlayer api的使用&#xff0c;这一节就我们将会了解MediaPlayer的生命周期与api使用细节。 1、MediaPlayer生命周期 MediaPlayer.java 一开始有对生命周期的描述&#xff0c;这里对这些内容进行翻译&#xff1a; MediaPlayer 是线程不安全的&#xff0c;创建…...

[oneAPI] BERT

[oneAPI] BERT BERT训练过程Masked Language Model&#xff08;MLM&#xff09;Next Sentence Prediction&#xff08;NSP&#xff09;微调 总结基于oneAPI代码 比赛&#xff1a;https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517 Intel DevCloud for oneAPI&…...

F1-score解析

报错&#xff1a;valueError: Target is multiclass but average‘binary’. Please choose another average setting, one of 原因&#xff1a;使用from sklearn.metrics import f1_score多类别计算F1-score时报错&#xff0c;改函数的参数即可&#xff0c;如&#xff1a;f1_s…...

windows11下配置vscode中c/c++环境

本文默认已经下载且安装好vscode&#xff0c;主要是解决环境变量配置以及编译task、launch文件的问题。 自己尝试过许多博客&#xff0c;最后还是通过这种方法配置成功了。 Linux(ubuntu 20.04)配置vscode可以直接跳转到配置task、launch文件&#xff0c;不需要下载mingw与配…...

Max Sum

一、题目 Given a sequence a[1],a[2],a[3]…a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 (-1) 5 4 14. Input The first line of the input contains an integer T(1<T<…...

Field injection is not recommended

文章目录 1. 引言2. 不推荐使用Autowired的原因3. Spring提供了三种主要的依赖注入方式3.1. 构造函数注入&#xff08;Constructor Injection&#xff09;3.2. Setter方法注入&#xff08;Setter Injection&#xff09;3.3. 字段注入&#xff08;Field Injection&#xff09; 4…...

C#字符串占位符替换

using System;namespace myprog {class test{static void Main(string[] args){string str1 string.Format("{0}今年{1}岁&#xff0c;身高{2}cm&#xff0c;月收入{3}元&#xff1b;", "小李", 23, 177, 5000);Console.WriteLine(str1);Console.ReadKey(…...

ChatGPT等人工智能编写文章的内容今后将成为常态

BuzzFeed股价上涨200%可能标志着“转向人工智能”媒体趋势的开始。 周四&#xff0c;一份内部备忘录被华尔街日报透露BuzzFeed正计划使用ChatGPT聊天机器人-风格文本合成技术来自OpenAI&#xff0c;用于创建个性化盘问和将来可能的其他内容。消息传出后&#xff0c;BuzzFeed的…...

【Sklearn】基于梯度提升树算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于梯度提升树算法的数据分类预测(Excel可直接替换数据) 1.模型原理2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果1.模型原理 梯度提升树(Gradient Boosting Trees)是一种集成学习方法,用于解决分类和回归问题。它通过将多个弱学习器(通常…...

什么叫做云计算?

相信大多数人对云计算或者是云服务的认识还停留在仅仅听过这个名词&#xff0c;但是对其真正的定义或者意义还不甚了解的层面。甚至有些技术人员&#xff0c;如果日常的业务不涉及到云服务&#xff0c;可能对其也只是一知半解的程度。首先云计算准确的讲只是云服务中的一部分&a…...

深度学习Batch Normalization

批标准化&#xff08;Batch Normalization&#xff0c;简称BN&#xff09;是一种用于深度神经网络的技术&#xff0c;它的主要目的是解决深度学习模型训练过程中的内部协变量偏移问题。简单来说&#xff0c;当我们在训练深度神经网络时&#xff0c;每一层的输入分布都可能会随着…...

el-table实现懒加载(el-table-infinite-scroll)

2023.8.15今天我学习了用el-table对大量的数据进行懒加载。 效果如下&#xff1a; 1.首先安装&#xff1a; npm install --save el-table-infinite-scroll2 2.全局引入&#xff1a; import ElTableInfiniteScroll from "el-table-infinite-scroll";// 懒加载 V…...

vueRouter回顾

关于vueRouter的两种路由模式 “history” 模式使用正常的 URL 格式&#xff0c;例如 https://example.com/path。“hash” 模式将路由信息添加到 URL 的哈希部分&#xff08;#&#xff09;后面&#xff0c;例如 https://example.com/#/path。 1、history模式&#xff1a;没有…...

大规模无人机集群算法flocking(蜂群)

matlab2016b正常运行...

厂房分区控温需求,水冷空调按需布设灵活调配

在工业生产与商业运营中&#xff0c;高温作业环境长期困扰着企业和劳动者。一方面&#xff0c;传统中央空调的高昂安装与运营成本让大多数中小企业望而却步&#xff1b;另一方面&#xff0c;超大厂房、物流仓库、汽车制造车间等开放或半开放场景&#xff0c;难以实现完全密封&a…...

NotebookLM时间线创建全流程拆解(从零到专业级时间叙事)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;NotebookLM时间线创建全流程拆解&#xff08;从零到专业级时间叙事&#xff09; NotebookLM 的时间线&#xff08;Timeline&#xff09;功能并非内置独立模块&#xff0c;而是依托其“脚注驱动叙事”机制&am…...

电赛小车结构翻车实录:从STM32F407到剪叉式结构,我们踩过的那些坑

电赛智能车避坑指南&#xff1a;从机械结构到控制系统的实战复盘 第一次参加电子设计竞赛的团队&#xff0c;往往会被智能车项目中隐藏的"坑"绊得措手不及。作为一支从零开始的参赛队伍&#xff0c;我们在机械结构选型、核心器件采购、系统调试等环节踩遍了几乎所有常…...

从微积分到级数:一张图看懂考研数学六大章节的核心逻辑与联系

从微积分到级数&#xff1a;一张图看懂考研数学六大章节的核心逻辑与联系 考研数学的复习常常让人感到知识点零散、难以串联。许多考生在反复刷题后&#xff0c;依然无法建立起完整的知识框架。本文将通过一张思维导图&#xff0c;揭示从一元函数微积分到无穷级数之间的内在联系…...

Motrix Next v3.8.10 | 开源多线程下载管理器神器

Motrix Next v3.8.10是一款全新重构升级的开源多线程下载管理器&#xff0c;老牌原版 Motrix 早已停止更新&#xff0c;老旧架构存在诸多安全漏洞与性能缺陷。而 Motrix Next 基于 Tauri 2Vue3 全新重构开发&#xff0c;补齐了原版技术短板&#xff0c;软件全程纯净无任何广告加…...

别再只会用默认库了!用OrCAD Capture CIS高效创建Homogeneous与Heterogeneous复合器件

高效设计复杂芯片&#xff1a;OrCAD Capture CIS中Homogeneous与Heterogeneous器件的进阶实践 在电子设计领域&#xff0c;面对日益复杂的芯片架构&#xff0c;工程师们常常陷入一个两难境地&#xff1a;当芯片包含多个功能单元时&#xff0c;是应该逐个绘制每个部分&#xff…...

modelzoo:昇腾 NPU 的“模型仓库”

modelzoo&#xff1a;昇腾 NPU 的“模型仓库” 之前帮朋友看模型训练的代码&#xff0c;发现他自己手写了很多模型&#xff08;ResNet50/BERT/LLaMA2 等&#xff09;——光写模型定义就写了 5,000 行&#xff0c;而且还不一定对。 我告诉他&#xff1a;不用手写&#xff0c;用 …...

P6 马铃薯病害识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 个人总结&#xff1a;了解VGG由 5 组卷积池化块堆叠构成&#xff0c;依靠小尺寸卷积核逐层提取图像浅层、深层特征&#xff0c;最后通过全连接层完成分类。&…...

2026毕设求生指南:用产品思维交付你的“第一份作品”

前言&#xff1a;别把毕设当作业&#xff0c;它是你职业起点的“第一份产品” 打开电脑&#xff0c;面对“毕业设计”四个字&#xff0c;你是否感到一片空白&#xff1f; 收藏了无数篇“毕设攻略”&#xff0c;却依然不知道从何下手——看文献像大海捞针&#xff0c;写代码bu…...

终结拟合式智能:记忆博弈心智架构重塑硅基生命进化逻辑

当前全球AGI研发赛道&#xff0c;正陷入一场难以破局的同质化内卷。无论是头部科技企业的超大参数模型&#xff0c;还是轻量化垂直AI产品&#xff0c;核心底层始终沿用Transformer概率拟合逻辑。这套技术体系虽然实现了人工智能的规模化落地&#xff0c;却从根源上锁死了AI的智…...