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

赣州晒房网门户网站wordpress中文下载

赣州晒房网门户网站,wordpress中文下载,虚拟偶像定制app,20个优秀的响应式设计html5网站模板前言:之前工作中做过两个功能,就是之前写的这两篇博客,最近几天有个想法,给它做成一个springboot的start启动器,直接引入依赖,写好配置就能用了 springboot使用自定义注解实现接口参数解密,普通…

前言:之前工作中做过两个功能,就是之前写的这两篇博客,最近几天有个想法,给它做成一个springboot的start启动器,直接引入依赖,写好配置就能用了

springboot使用自定义注解实现接口参数解密,普通字段,json,集合

使用反射实现@RequestBody的参数校验功能

 现在,它来了。

项目地址:

gitee:https://gitee.com/vhukze/master-key 

github:https://github.com/vhukze/master-key

目录

介绍

软件架构

配置教程 

1.引入依赖

2.配置

3.注意事项

使用说明

不同传参方式示例

不同参数类型示例

 validation模块注解校验

最后


介绍

用来实现接口参数解密的工具,只需引入依赖,在配置文件写明加密的配置,在接口上使用指定注解即可实现该接口的参数解密。并支持使用validation模块的注解进行参数校验,支持分组校验功能

支持的对称加密方式:SM4,AES,DES,DESede 支持的非对称加密方式:RSA,SM2

软件架构

使用java8,springboot2.x.x,一个简单的springboot starter 启动器,功能中用到的工具类是hutool

配置教程 

1.引入依赖

        <dependency><groupId>io.github.vhukze</groupId><artifactId>master-key-spring-boot-starter</artifactId><version>目前最新版本</version></dependency>

2.配置

注册参数解析器

import com.vhukze.masterkey.master.DecodeResolver;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;import javax.annotation.Resource;
import java.util.List;/*** webmvc配置*/
@Configuration
public class MasterKeyConfig implements WebMvcConfigurer {@Resourceprivate DecodeResolver decodeResolver;/*** 注册自定义HandlerMethodArgumentResolver  接口参数解密*/@Overridepublic void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {resolvers.add(decodeResolver);}
}

对称加密配置示例(配置到application.yml中)

master-key:# 加密方式encode: SM4# 使用json格式参数时,解密之前json的key 不配置此参数则代表使用text格式参数,只传递加密后的字符串json-key: str# 加密模式mode: CBC# 填充方式padding: ISO10126Padding# 秘钥key: 1234123412ABCDEF# 盐值salt: ABCDEF1234123412

对称加密配置项的可配置值

加密方式(encode)加密模式(mode)填充方式(padding)
SM4NONENoPadding
AESCBCZeroPadding
DESCFBISO10126Padding
DESedeCTROAEPPadding
CTSPKCS1Padding
ECBPKCS5Padding
OFBSSL3Padding
PCBC

非对称加密配置示例 

master-key:# 加密方式encode: SM2# 使用json格式参数时,解密之前json的key 不配置此参数则代表使用text格式参数,只传递加密后的字符串json-key:# 公钥public-key: MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEDRhJQbkA5SKceAaJmtdOBiRzCqwei4WRzAkBrZ9SkBZhZ1zC4nteRLVi754MsI/8vsiNK2lV518E8RaNw+mnLA==# 私钥private-key: MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQ

3.注意事项

使用SM4和SM2国密加密算法时,需要引入国密加密的依赖 如下

        <dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15to18</artifactId><version>1.69</version></dependency>

使用说明

支持自定义实体类、基础数据类型及其包装类、集合类型、map类型。加密前参数格式跟正常请求接口时相同

不同传参方式示例

例如当前接口所需参数为:{"id":1,"count":4}

加密后为:c7dc378bf0c4da001466818765813a506b1a6b37e960b7ca

1.json格式传参

在配置文件配置好json-key,并使用配置的json-key构建json字符串,比如配置的json-key为str,json字符串如下

{"str":"c7dc378bf0c4da001466818765813a506b1a6b37e960b7ca"
}

 实际请求如下图

2.text格式传参

不配置json-key即为使用text格式传参

实际请求如下图

不同参数类型示例

使用text传参方式演示

接口使用@ParamsDecode注解,标明此接口需要参数解密,如下

@ParamsDecode
@PostMapping("decode")
public String decode(Stock stock){return "";
}

1.自定义实体类

接口参数的实体类

@Data
public class Stock {private Integer id;private Integer count;
}

加密前的请求参数: {"id":1,"count":4}

实际请求

 接口接收到的参数

2.基础数据类型或其包装类

接口参数为一个int类型

加密前的请求参数:5

实际请求

接口接收到的参数

3.集合类型

接口参数为List<Integer>集合

加密前的请求参数:[1,2,3]

实际请求

接口接收到的参数

 validation模块注解校验

实现了一些常用的注解,并支持分组校验功能,目前实现的注解有以下这些

数据类型注解
Integer、Long、Short@NotNull、@Max、@Min、@Null
String@NotNull、@NotBlank、@Size、@Null、@Pattern
集合类型@NotNull、@NotEmpty、@Size、@Null

具体使用方式跟正常使用一样,下面有个示例

@Data
public class Stock {@Max(3)@NotNull(groups = Edit.class)private Integer id;@NotBlank(groups = {Add.class, Edit.class})private String name;@Min(3)private Integer count;public interface Add {}public interface Edit {}
}
@ParamsDecode
@PostMapping("decode")
public String decode(@Validated(value = Add.class) Stock stock) {return "";
}

最后

目前就有这些功能,后面如果有需要的话,准备加入接口返回数据加密功能、Map类型参数的解密、不同接口使用不同解密方式等功能

http://www.yayakq.cn/news/878209/

相关文章:

  • wordpress 开发网站网新科技集团
  • 手机版网站如何制作搜索引擎广告属于什么渠道
  • 给企业做网站怎么收钱遵义相亲平台
  • 网站打开文件按钮怎么做国家标准物质网站建设
  • 兰州商城网站建设oa系统办公软件怎么用
  • 小说网站怎么建设江苏卓业建设网站
  • 做网站需要哪些技术支持免费行情软件网站下载大全爱
  • 外文网站建设百度关键词推广
  • 自己做网站做淘宝客高端做网站价格
  • 编程培训网站建设学分银行网站策划书
  • 综合网站开发企业常用的网络营销方法
  • 互联网传媒 网站网站标题用空格 逗号影响seo
  • 网站关键词一般设置几个网页设计入门教程推荐
  • 潍坊网站建设word做网站连接
  • php模板网站怎么修改广州网站设计成功刻
  • 伦教网站开发珠海网站建设及优化
  • 温州外贸网站网页版梦幻西游水晶宫攻略
  • 中国国家建设部网站企业网站建设cms
  • 自己做的网站显示iis7加强网站建设管理办法
  • 常州网站排名优化较好网站建设公司
  • 好看的手机网站布局怎么做网站海报轮播图
  • 广州化妆品网站设计网站顶部导航
  • 去哪找人做网站建设教育协会官网
  • 网站运营工作是干什么的泰安做网站公司
  • 深色调网站免费软件app不收费的
  • 如何做原创漫画网站美食网页制作代码
  • 沈阳设计培训网站建设开发建设信息的网站
  • 承德优化网站建设wordpress数据库加速插件
  • 网站如何建设与优化呼和浩特网站运营公司
  • 有哪些网站可以免费做推广十大看免费行情的软件下载