# helint-encryption-starter
**Repository Path**: hackerjj/helint-encryption-starter
## Basic Information
- **Project Name**: helint-encryption-starter
- **Description**: Helint-接口加解密-starter
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-01-25
- **Last Updated**: 2024-01-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Helint-接口加解密-starter
Version 1.0.0 by junjunhuang
基于RSA CBC进行接口数据的加解密操作,目前支持POST/GET请求
## 说明
SpringBoot 通过Filter与AOP实现请求加密解密功能
> 对所有请求信息进行解密,解密之后传入Controller进行处理,Controller 处理完成之后返回结果信息在进行加密返回;
>
> **执行流程:**
>
> 前端请求(加密) -> Filter(解密) -> AOP -> Controller -> AOP(加密) -> Filter -> 前端(解密)
## 快速开始
1. 在所需要开启接口加密的工程模块中[pom.xml]中添加相关依赖,如下以maven为例:
```java
com.helint.component.encryption
helint-encryption-starter
1.0.0
```
2. 在配置中开启加密, 及配置RSA需要的加解密密钥
```yaml
rsa:
encrypt:
# 是否开启加密 true or false
enable: false
# RSA密钥
aesKey: G99YPUMGNO78FG8W04LKXKUHMO89AUQ0
# 接口URL白名单
ignore-urls:
- "/error"
- "/post2"
```
3. 注意
- 本次GET与POST请求分开处理: GET 请求的加密参数需要使用:`encryptData`, POST 整个请求体都是加密参数.
```
GET请求示例:
前端:
请求URL: /get
请求参数:String userId
非加密请求传参为: /get?userId=123456
加密请求传参为: /get?encryptData=加密密文
加密密文格式:需要将传参转化为完整JSON字符串,在进行加密处理后传参,固定参数名为"encryptData", 如本例的需加密的完整字符串为:{"userId":"123456"},需要前端注意
```
完成上述操作, 即完成可使用了~
## License
[Apache License 2.0](./LICENSE)