Springboot+Vue的项目搭建(二)

三个工具

一、Md5加密工具

MD5加密工具是一款用于数据加密的工具,它采用MD5算法将输入的数据转换成一个128位(16字节)的散列值(hash value)。以下是对MD5加密工具的详细介绍:

MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可以产生一个128位(16字节)的散列值(通常用32位的十六进制字符串表示)。MD5算法以其高效和简便性而著称,常用于数据完整性验证和密码存储等领域。然而,需要注意的是,MD5算法的安全性已经受到质疑,因为它相对容易被破解,因此在需要高安全性的场合,建议使用更安全的哈希算法,如SHA-256或SHA-3。

二、令牌jwt

JWT(JSON Web Token)是一个开放标准(RFC 7519),它定义了一种简洁的、自包含的方法用于通信双方之间以JSON对象的形式安全地传输信息。以下是对JWT的详细介绍:

JWT通常由三部分组成,这三部分通过“.”连接在一起:

1、头部(Header):包含了令牌类型(typ)和加密算法(alg)。令牌类型通常是“JWT”,而加密算法则表明了用于生成签名的算法,如“HS256”、“RS256”等。

2、有效载荷(Payload):包含了实际要传递的信息或声明(claims)。这些声明可以是预定义的标准声明(如iss-发行人、exp-过期时间、sub-主题、aud-受众等),也可以是自定义声明。有效载荷是JWT的主体部分,用于传递需要的信息。

3、签名(Signature):用于验证数据完整性和保护令牌不被篡改。签名是通过对前两部分(头部和有效载荷)进行编码后,使用指定的加密算法以及一个密钥(secret)进行签名计算得出的。

三、全局异常exception

全局异常(Global Exception)是指在程序运行过程中,针对可能发生的各种异常情况进行的统一处理机制。在软件开发中,全局异常处理是一种重要的编程实践,它有助于提高程序的健壮性、可维护性和用户体验。以下是对全局异常处理的详细解释:

全局异常处理是指在程序中设置一个或多个全局的异常处理器,用于捕获和处理在程序运行过程中发生的所有或特定类型的异常。这些异常处理器通常位于程序的较高层次,能够捕获并处理从低层次(如业务逻辑层、数据访问层等)抛出的异常。

在Java等编程语言中,全局异常处理通常通过以下方式实现:

1、使用try-catch语句:在程序的关键部分使用try-catch语句来捕获并处理异常。然而,这种方式通常用于处理局部异常,而不是全局异常。

2、自定义异常类:通过创建自定义异常类,可以定义特定的异常类型和异常信息。然后,在全局异常处理器中捕获这些自定义异常并进行处理。

3、全局异常处理器:在Spring Boot等框架中,可以通过@ControllerAdvice和@ExceptionHandler注解来创建全局异常处理器。这些注解允许开发者定义一个或多个方法来处理特定类型的异常或所有异常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/61376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

django启动项目报错解决办法

在启动此项目报错: 类似于: django.core.exceptions.ImproperlyConfigured: Requested setting EMOJI_IMG_TAG, but settings are not c启动方式选择django方式启动,以普通python方式启动会报错 2. 这句话提供了对遇到的错误的一个重要线索…

Linux:版本控制器git和调试工具cgdb

✨✨所属专栏:Linux✨✨ ✨✨作者主页:嶔某✨✨ 版本控制器 为了能够更⽅便我们管理这些不同版本的⽂件,便有了版本控制器。所谓的版本控制器,就是能让你了解到⼀个⽂件的历史,以及它的发展过程的系统。通俗的讲就是⼀…

C++11——异常

1.异常概念 异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就会抛出异常,让函数的调用者处理这个错误 throw:当出现问题时,程序会抛出一个异常,通过 throw 来完成catch:catch 关键字捕获异…

Redis ⽀持哪⼏种数据类型?适⽤场景,底层结构

目录 Redis 数据类型 一、String(字符串) 二、Hash(哈希) 三、List(列表) 四、Set(集合) 五、ZSet(sorted set:有序集合) 六、BitMap 七、HyperLogLog 八、GEO …

AI风向标|算力与通信的完美融合,SRM6690解锁端侧AI的智能密码

当前,5G技术已经成为推动数字经济和实体经济深度融合的关键驱动力,进入5G发展的下半场,5G与AI的融合正推动诸多行业的数字化转型和创新发展,终端侧AI和端云混合式AI将广泛应用于各类消费终端和各行各业。 在推动5G和AI与各行业场…

【HOT100第四天】除自身以外数组的乘积,矩阵置零,螺旋矩阵,旋转图像

今天感觉是边界值练习专场。。。整体难度不大但是细节还是需要多动手写一写。 238. 除自身以外的数组的乘积 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意…

百度智能云千帆大模型平台引领企业创新增长

本文整理自百度世界大会 2024——「智能跃迁 产业加速」论坛的同名演讲。 更多大会演讲内容,请访问: https://baiduworld.baidu.com 首先,跟大家分享一张图,这个是我们目前大模型应用落地的场景分布。可以看到,大模型…

记录java Collections.sort踩的坑

前言 java Collections.sort 排序失效?为什么会排序失效呢? 需求和问题 需求:获取指定文件夹下的所有文件,并且按照修改时间顺序从大到小排序,如果修改时间相同,则按照创建时间从大到小排序 // 输入lis…

【Flutter 问题系列第 84 篇】如何清除指定网络图片的缓存

这是【Flutter 问题系列第 84 篇】,如果觉得有用的话,欢迎关注专栏。 博文当前所用 Flutter SDK:3.24.3、Dart SDK:3.5.3,网络图片缓存用的插件 cached_network_image: 3.4.1,缓存的网络图像的存储和检索用…

SIMCom芯讯通A7680C在线升级:FTP升级成功;http升级腾讯云对象储存的文件失败;http升级私有服务器的文件成功

从事嵌入式单片机的工作算是符合我个人兴趣爱好的,当面对一个新的芯片我即想把芯片尽快搞懂完成项目赚钱,也想着能够把自己遇到的坑和注意事项记录下来,即方便自己后面查阅也可以分享给大家,这是一种冲动,但是这个或许并不是原厂希望的,尽管这样有可能会牺牲一些时间也有哪天原…

uniapp实现中英文切换

home.js const data {ZH: {content1: "苹果",},EN: {content1: “Apple”,} } export default dataindex.js import home from "./home.js" export default {home }en.js import part1 from ./data/part1/index.js const en {language: {name: "…

Android Studio 控制台输出的中文显示乱码

1. Android Studio 控制台输出的中文显示乱码 1.1. 问题 安卓在调试阶段,需要查看app运行时的输出信息、出错提示信息。乱码,会极大的阻碍开发者前进的信心,不能及时的根据提示信息定位问题,因此我们需要查看没有乱码的打印信息。…

基于yolov8、yolov5的行人检测识别系统(含UI界面、训练好的模型、Python代码、数据集)

摘要:行人检测在交通管理、智能监控和公共安全中起着至关重要的作用,不仅能帮助相关部门实时监控人群动态,还为自动化监控系统提供了可靠的数据支撑。本文介绍了一款基于YOLOv8、YOLOv5等深度学习框架的行人检测模型,该模型使用了…

Java安全—log4j日志FastJson序列化JNDI注入

前言 log4j和fastjson都是这几年比较火的组件,前者是用于日志输出后者则是用于数据转换,今天我们从源码来说一下这两个组件为何会造成漏洞。 实验环境 这里的idea要进行一下配置,因为我们要引用第三方组件,而这些第三方组件都是…

【白话机器学习系列】白话 Softmax

文章目录 什么是 SoftmaxSoftmax 函数详解示例编程实现对矩阵应用 Softmax 函数 什么是 Softmax Softmax 函数,又称归一化指数函数,它使用指数函数将输入向量归一化为概率分布(每一个元素的范围都在 ( 0 , 1 ) (0,1) (0,1) 之间,…

C++系列之继承

💗 💗 博客:小怡同学 💗 💗 个人简介:编程小萌新 💗 💗 如果博客对大家有用的话,请点赞关注再收藏 🌞 继承的概念 继承机制是面向对象程序设计使代码可以复用的最重要的手段&#xf…

【微软:多模态基础模型】(5)多模态大模型:通过LLM训练

欢迎关注[【youcans的AGI学习笔记】](https://blog.csdn.net/youcans/category_12244543.html)原创作品 【微软:多模态基础模型】(1)从专家到通用助手 【微软:多模态基础模型】(2)视觉理解 【微…

数字IC后端低功耗设计实现案例分享(3个power domain,2个voltage domain)

下图所示为咱们社区T12nm A55低功耗实现项目。其实这个项目还可以根据产品的需求做一些改进。改进后项目实现的难度会大大增加。也希望通过今天的这个项目案例分享,帮助到今年IC秋招的同学。 芯片低功耗设计实现upf编写指南(附低功耗项目案例&#xff0…

Vue3中使用:deep修改element-plus的样式无效怎么办?

前言:当我们用 vue3 :deep() 处理 elementui 中 el-dialog_body和el-dislog__header 的时候样式一直无法生效,遇到这种情况怎么办? 解决办法: 1.直接在 dialog 上面增加class 我试过,也不起作用,最后用这种…

HTTP CRLF注入攻击

HTTP CRLF注入攻击 大家好,今天我们来聊聊一个与网络安全相关的重要话题——CRLF注入(CRLF Injection)。了解这种安全漏洞有助于我们更好地保护我们的应用程序和用户数据。 什么是CRLF? CRLF代表Carriage Return (回车) 和 Line…