v1.10.0
🚀 新增功能
请求加解密模块
新增 guardian-encrypt 模块,提供请求解密和响应加密能力,确保数据传输的安全性。
支持的加密方案:
- RSA + AES:RSA 加密 AES 密钥,AES-GCM 模式加密数据
- SM2 + SM4:国密算法,SM2 加密 SM4 密钥,SM4-CBC 模式加密数据
核心组件:
DecryptFilter:请求解密过滤器,支持 param 参数和 body 数据两种加密方式EncryptResponseAdvice:响应加密 Advice,自动加密响应结果KeyEncryptService:密钥加密服务接口,支持 RSA 和 SM2 算法DataEncryptService:数据加密服务接口,支持 AES-GCM 和 SM4-CBC 算法
密钥模式:
dynamic:动态密钥模式,每次请求动态生成密钥(默认)static:静态密钥模式,使用配置的固定密钥
配置示例:
guardian:
decrypt:
enabled: true
key:
private-key: "your-private-key-base64"
data:
data-key-header: "X-Encrypt-Key"
urls:
- pattern: /api/sensitive/**
key-algorithm: rsa
data-algorithm: aes
encrypt:
enabled: true
key:
public-key: "your-public-key-base64"
data:
data-key-header: "X-Encrypt-Key"
urls:
- pattern: /api/sensitive/**
key-algorithm: rsa
data-algorithm: aes签名模块增强
- 新增 SM3 算法支持,完善国密算法体系
前端示例
新增前端示例页面,提供完整的前端实现参考:
sign-test.html:签名验证完整示例encrypt-test.html:加密解密完整示例
📝 文档更新
- 新增请求加解密模块完整文档
- 新增动态配置表格(请求解密、响应加密)
- 新增 Filter 执行顺序说明(包含请求解密)
- 新增 ResponseBodyAdvice 排序说明(包含响应加密)
- 更新 Nacos 配置示例
🔧 使用方式
Maven 依赖
<dependency>
<groupId>io.github.biggg-guardian</groupId>
<artifactId>guardian-encrypt-spring-boot-starter</artifactId>
<version>1.10.0</version>
</dependency>一键引入所有模块
<dependency>
<groupId>io.github.biggg-guardian</groupId>
<artifactId>guardian-starter-all</artifactId>
<version>1.10.0</version>
</dependency>📦 模块列表
| 模块 | Starter | 说明 |
|---|---|---|
| 防重复提交 | guardian-repeat-submit-spring-boot-starter |
防止表单重复提交 |
| 接口限流 | guardian-rate-limit-spring-boot-starter |
接口访问频率限制 |
| 接口幂等 | guardian-idempotent-spring-boot-starter |
接口幂等性保证 |
| 参数自动 Trim | guardian-auto-trim-spring-boot-starter |
请求参数自动去空格 |
| 慢接口检测 | guardian-slow-api-spring-boot-starter |
慢接口监控告警 |
| 请求链路追踪 | guardian-trace-spring-boot-starter |
请求链路追踪 |
| IP 黑白名单 | guardian-ip-filter-spring-boot-starter |
IP 访问控制 |
| 防重放攻击 | guardian-anti-replay-spring-boot-starter |
防止请求重放攻击 |
| 接口开关 | guardian-api-switch-spring-boot-starter |
动态关闭/开启接口 |
| 参数签名 | guardian-sign-spring-boot-starter |
请求参数签名验证 |
| 请求加解密 | guardian-encrypt-spring-boot-starter |
请求解密 + 响应加密 |