feat(security/crypto): 新增 API 加/解密功能

Co-authored-by: lishuyan<1206770390@qq.com>



# message auto-generated for no-merge-commit merge:
merge lishuyan/dev into dev

feat: 新增 API 加/解密功能。

Created-by: lishuyanla
Commit-by: lishuyan
Merged-by: Charles_7c
Description: 1、feat: 新增 API 加解密功能。

<!--
  非常感谢您的 PR!在提交之前,请务必确保您 PR 的代码经过了完整测试,并且通过了代码规范检查。
-->

<!-- 在 [] 中输入 x 来勾选) -->

## PR 类型

<!-- 您的 PR 引入了哪种类型的变更? -->
<!-- 只支持选择一种类型,如果有多种类型,可以在更新日志中增加 “类型” 列。 -->

- [x] 新 feature
- [ ] Bug 修复
- [ ] 功能增强
- [ ] 文档变更
- [ ] 代码样式变更
- [ ] 重构
- [ ] 性能改进
- [ ] 单元测试
- [ ] CI/CD
- [ ] 其他

## PR 目的

<!-- 描述一下您的 PR 解决了什么问题。如果可以,请链接到相关 issues。 -->

1、feat: 新增 API 加/解密功能。

2、支持PUT/POST请求方法且JSON类型的请求解密。

3、支持响应加密。

## 解决方案

<!-- 详细描述您是如何解决的问题 -->

1、新增加解密工具类

2、新增API加解密过滤器。

3、新增API加解密自动配置。

## PR 测试

<!-- 如果可以,请为您的 PR 添加或更新单元测试。 -->
<!-- 请描述一下您是如何测试 PR 的。例如:创建/更新单元测试或添加相关的截图。 -->
请求加密和解密:
![请求加密-ok.png](https://raw.gitcode.com/user-images/assets/3910671/d0d4f558-d9da-4d42-97f2-96719dfa63b7/请求加密-ok.png '请求加密-ok.png')

响应加密和解密:
![响应加密-ok.jpg](https://raw.gitcode.com/user-images/assets/3910671/76ddb085-4026-4cc4-96cc-d8d1496a73ba/响应加密-ok.jpg '响应加密-ok.jpg')

## Changelog

| 模块                             | Changelog                                                    | Related issues |
| -------------------------------- | ------------------------------------------------------------ | -------------- |
| continew-starter-security-crypto | feat: 新增 API 加/解密功能。<br/><br/>- 新增 API 加密注解和相关配置<br/>- 实现请求体解密和响应体加密的过滤器<br/>- 添加必要的工具类和属性配置 |                |

<!-- 如果有多种类型的变更,可以在变更日志表中增加 “类型” 列,该列的值与上方 “PR 类型” 相同。 -->
<!-- Related issues 格式为 Closes #<issue号>,或者 Fixes #<issue号>,或者 Resolves #<issue号>。 -->

## 其他信息

<!-- 请描述一下还有哪些注意事项。例如:如果引入了一个不向下兼容的变更,请描述其影响。 -->

## 提交前确认

- [x] PR 代码经过了完整测试,并且通过了代码规范检查
- [x] 已经完整填写 Changelog,并链接到了相关 issues
- [x] PR 代码将要提交到 dev 分支

See merge request: continew/continew-starter!3
This commit is contained in:
lishuyanla
2025-08-11 21:22:42 +08:00
committed by Charles_7c
parent 3ee1112c4c
commit 26effb6ee2
11 changed files with 694 additions and 2 deletions

View File

@@ -31,6 +31,11 @@ public class OrderedConstants {
*/
public static final class Filter {
/**
* API加/密过滤器顺序
*/
public static final int API_CRYPTO_FILTER = Ordered.HIGHEST_PRECEDENCE;
/**
* 链路追踪过滤器顺序
*/

View File

@@ -55,10 +55,15 @@ public class PropertiesConstants {
public static final String SECURITY = CONTINEW_STARTER + StringConstants.DOT + "security";
/**
* 安全-加/解密配置
* 安全-数据加/解密配置
*/
public static final String SECURITY_CRYPTO = SECURITY + StringConstants.DOT + "crypto";
/**
* 安全-API加/解密配置
*/
public static final String SECURITY_API_CRYPTO = SECURITY + StringConstants.DOT + "api-crypto";
/**
* 安全-敏感词配置
*/