使用示例入门web接口@RestController public class HelloController { @PostMapping("/t1") public void t1(@Validated @RequestBody Request request) { System.out.println(11); } }实体类@Data public
断言断言是一个逻辑判断,用于检查不应该发生的情况Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查// 要求参数 object 必须为非空(Not Null),否则抛出异常,不予放行 // 参数 message 参数用于定制异常信息。 void notNull(Ob
一、背景 针对项目已经开发完的接口,都需要加上传输数据加密的功能,对接口进行AES
原创 2022-10-20 09:48:46
1178阅读
1.Mavne导入加密解密所需的依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-io</artifactId> <version>1.3.2</version></dependency> 2.在asp
原创 2022-10-30 10:41:07
818阅读
前提前段时间在做一个对外的网关项目,涉及到加密和解密模块,这里详细分析解决方案和适用的场景。为了模拟真实的交互场景,先定制一下整个交互流程。第三方传输(包括请求和响应)数据报文包括三个部分:1、timestamp,long类型,时间戳。2、data,String类型,实际的业务请求数据转化成的Json字符串再进行加密得到的密文。3、sign,签名,生成规则算法伪代码是SHA-256(data=xx
1. 前言前后端分离模式,可以让后端和前端开发人员致力于自己擅长的领域,且可以让前端和后端业务逻辑高度解耦合。本文从一个简单的案例入手,讲解使用 spring boot和vue3如何实现前后端的分离。前后端分离有2 种模式:逻辑分离:在一个项目中的前后分离。项目整体架构还是MVC模式,适合于小型项目。物理分离:独立的前后端项目分离。因是不同项目,会涉及远程调用等问题,适合于中、大型项目。后端项目仅
转载 2024-05-29 11:23:48
35阅读
# Java参加密方法实现 ## 一、整体流程 首先,我们需要了解整个加密过程的步骤。下面是一个简单的表格展示: ```mermaid erDiagram 算法 --> 生成密钥 生成密钥 --> 加密数据 加密数据 --> 解密数据 ``` ## 二、具体步骤 ### 步骤一:生成密钥 在Java中,可以使用`KeyGenerator`类生成密钥,代码如
原创 2024-05-08 06:32:11
62阅读
这日,刚撸完2两代码,正准备掏出手机摸鱼放松放松,只见老大朝我走过来,并露出一个”善意“的微笑,兴伟呀,xx项目有于安全问题,需要对接口整体进行加密处理,你这方面比较有经验,就给你安排上了哈,看这周内提测行不...,额,摸摸头上飘摇着而稀疏的长发,感觉我爱了。和产品、前端同学对外需求后,梳理了相关技术方案,主要的需求点如下:尽量少改动,不影响之前的业务逻辑;考虑到时间紧迫性,可采用对称性加密方式,
转载 2024-03-26 10:17:26
167阅读
一、出入是被调函数需要的参数, 是主调函数需要的参数。 怎么理解呢?,就是被调函数要使用的,没有它被调函数可能无法工作,而为了确保使用它只是来满足被调函数的工作,不影响到主调函数的变量,(可能为了复制花费使用引用或者指针)一般加上 const 关键字加以修饰。,就是经过被调函数的执行后,需要返回给主调函数的参数,它可以是主调函数传入的,也可以是被调函数内部生成的。值得注意的一点,
转载 2023-11-24 21:31:59
1524阅读
参与变量的定义方式一致,稍微不同的是,不会用到的参数可以省略变量名称:// SPDX-License-Identifier: MITpragma solidity ^0.8.0;contract Simple { function input(uint _a, uint) public{ // do something with _a. }}多返回值// SPDX-
原创 2022-12-01 10:41:10
352阅读
Spring MVC 框架中你可以按任意顺序定义请求处理方法的(除了 Errors 和 BindingResult 必须紧跟在命令对象/表单参数后面以外),Spring MVC 会根据反射机制自动将对应的对象通过入传递给请求处理方法。这种机制让开发者完全可以不依赖 Servlet API 开发控制层的程序,当请求处理方法需要特定的对象时,仅仅需要在
转载 2024-04-19 08:34:23
129阅读
在我们的服务中不可避免的需要使用到一些秘钥(数据库、redis等);使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。打开application.properties或application.yml,比如mysql登陆密码,redis登陆密码以及第三方的密钥等等一览无余,这里介绍一个加解密组件,提高一些属性配置的安全性。开发和测试环境还好,但
转载 2024-02-21 12:58:24
152阅读
1. 接口参数校验参校验是每个程序员必备的基本素养。设计接口,必须先校验参数。比如是否允许为空,长度是否符合预期长度。这个要养成习惯,日常开发中,很多低级 bug 都是不校验参数导致的。比如你的数据库表字段设置为varchar(16),对方传了一个 32 位的字符串过来,如果你不校验参数,插入数据库就直接异常了。也是,比如你定义的接口报文,参数是不为空的,但是你的接口返回参数没有
前言本文记录了笔者将springboot整合lucene的过程和踩坑,是lucene最粗浅的运用,主要实现了从数据库查询并写入索引文件,查询结果高亮显示等。引入依赖JDKLucene1.8.0_2918.11.2在pom.xml中加入以下依赖。<!--Lucene依赖--> <!--核心包--> <dependency>
转载 2023-12-20 15:01:36
100阅读
 一、背景说明在服务中不可避免的需要使用到一些秘钥(数据库、redis等)开发和测试环境还好,但生产如果采用明文配置将会有安全问题,jasypt是一个通用的加解密库,可以使用它。 jasypt默认使用StringEncryptor来进行加解密,也可以自定义自己的加解密类来替换它 。二、Jasypt介绍 2.1 Jasypt是什么?Jasypt是一个Java库,Java 加密包,
用户登录业务介绍1.1、单一服务器模式早期单一服务器,用户认证。缺点:单点性能压力,无法扩展。1.2、SSO(single sign on)模式分布式,SSO(single sign on)模式单点登录常见的方式优点 :用户身份信息独立管理,更好的分布式管理。可以自己扩展安全策略缺点:认证服务器访问压力较大。1.3、Token模式业务流程图{用户访问业务时,必须登录的流程}优点:无状态: toke
1、首先pom文件需要增加依赖,spring包和cache包<!-- 缓存依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId&gt
1 过滤器基本概念1.1 引入场景1: 在servlet中获取用户参数数据 : request.getParameter("参数名") 遇到参数内容中文乱码问题,post提交:request.setCharacterEncoding("utf-8");get提交:手动解码: name = new String(name.getBytes("iso-8859-1"),"utf-8")问题:
springboot 和 springcloud 配置文件和配置中心密文解密实现原理前言一、配置文件密文解密二、配置中心密文解密( 以 springcloud + nacos 为例 )总结 前言    在使用 springboot 或者 springcloud 开发的时候,通常为了保证系统的安全性,配置文件中的密码等铭感信息都会进行加密处理,然后在系统启动的时候密文进行解密处理。提示:本篇文章
转载 2023-12-12 15:06:59
298阅读
Spring Boot 接口加解密介绍基础知识hutool-crypto加密解密工具request流只能读取一次的问题问题描述解决办法SpringBoot的参数校验validation自定义starterRequestBodyAdvice和ResponseBodyAdvice功能介绍功能细节代码实现项目结构crypto-commoncrypto-spring-boot-starter代码结构核心
转载 2023-10-14 01:37:41
324阅读
  • 1
  • 2
  • 3
  • 4
  • 5