https://github.com/licoy/encrypt-body-spring-boot-starter
🔒 SpringBoot控制器统一的响应体编码/加密与请求体解密的注解处理方式,支持MD5/SHA/AES/DES/RSA | SpringBoot controller unified response body encoding/encryption and request body decryption annotation processing method.
https://github.com/licoy/encrypt-body-spring-boot-starter
aes decrypt des-encryption encrypt java md5 responsebody rsa sha-256 sha1 spring spring-mvc spring-security springboot
Last synced: about 1 month ago
JSON representation
🔒 SpringBoot控制器统一的响应体编码/加密与请求体解密的注解处理方式,支持MD5/SHA/AES/DES/RSA | SpringBoot controller unified response body encoding/encryption and request body decryption annotation processing method.
- Host: GitHub
- URL: https://github.com/licoy/encrypt-body-spring-boot-starter
- Owner: Licoy
- License: apache-2.0
- Created: 2018-09-06T04:09:15.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-11T06:34:40.000Z (over 2 years ago)
- Last Synced: 2025-04-04T12:30:27.145Z (about 1 month ago)
- Topics: aes, decrypt, des-encryption, encrypt, java, md5, responsebody, rsa, sha-256, sha1, spring, spring-mvc, spring-security, springboot
- Language: Java
- Homepage:
- Size: 313 KB
- Stars: 408
- Watchers: 13
- Forks: 158
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
简体中文 | [English](./README_EN.md)
## 介绍
`encrypt-body-spring-boot-starter`是对`springboot`控制器统一的响应体编码/加密与请求体解密的注解处理方式,支持MD5/SHA/AES/DES/RSA。[]()
[]()
[]()
[]()
## 编码/加密解密支持
- 可进行编码/加密的方式有:
- - [x] MD5
- - [x] SHA-1 / SHA-256
- - [x] AES
- - [x] DES
- - [x] RSA
- 可进行解密的方式有:
- - [x] AES
- - [x] DES
- - [x] RSA
## 引入注册
### 导入依赖
在项目的`pom.xml`中引入依赖:
```xmlcn.licoy
encrypt-body-spring-boot-starter
1.2.3```
### 启用组件
- 在工程对应的`Application`类中增加`@EnableEncryptBody`注解,如:
```java
@EnableEncryptBody
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}}
```
### 配置参数
在项目的`application.yml`或`application.properties`文件中增加参数配置,例如:
```yaml
encrypt:
body:
aes-key: 12345678 #AES加密秘钥
des-key: 12345678 #DES加密秘钥
# more...
```
## 使用
### 对整个控制器生效
```java
@RestController
@EncryptBody
@RequestMapping("/test")
public class TestController {@GetMapping
public String test(){
return "hello world";
}}
```
### 对单一请求生效
```java
@Controller
@RequestMapping("/test")
public class TestController {@GetMapping
@ResponseBody
@EncryptBody(value = EncryptBodyMethod.AES)
public String test(){
return "hello world";
}}
```
### 对响应的声明类生效
```java
@Data
@EncryptBody
public class User implements Serializable {private String name;
private String email;
private Integer number;
private String numberValue;
}
```
### 对声明类单一属性生效
```java
@Data
@EncryptBody
@FieldBody
public class User implements Serializable {private String name;
@FieldBody
@AESEncryptBody(key = "1234567812345678")
private String email;@FieldBody(field = "numberValue", clearValue = true)
@DESEncryptBody(key = "1234567812345678")
private Integer number;private String numberValue;
}
```
## 注解一览表
- [编码/加密注解一览表](https://github.com/Licoy/encrypt-body-spring-boot-starter/wiki/加密注解一览表)
- [解密注解一览表](https://github.com/Licoy/encrypt-body-spring-boot-starter/wiki/解密注解一览表)
## 开源协议
[Apache 2.0](/LICENSE)