Spring Boot接口自动加解密,可以对返回值

Java 2020-08-30 17:51:29

Spring Boot接口自动加解密,可以对返回值

使用方法
Apache Maven


cn.shuibo
rsa-encrypt-body-spring-boot
1.0.1.RELEASE


Gradle Groovy DSL

implementation 'cn.shuibo:rsa-encrypt-body-spring-boot:1.0.1.RELEASE'

以Maven为例,在pom.xml中引入依赖

cn.shuibo
rsa-encrypt-body-spring-boot
1.0.1.RELEASE


启动类Application中添加@EnableSecurity注解
@SpringBootApplication
@EnableSecurity
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
在application.yml或者application.properties中添加RSA公钥及私钥
rsa:
encrypt:
open: true # 是否开启加密 true or false
showLog: true # 是否打印加解密log true or false
publicKey: # RSA公钥
privateKey: # RSA私钥

对返回值进行加密
@Encrypt
@GetMapping("/encryption")
public TestBean encryption(){
TestBean testBean = new TestBean();
testBean.setName("shuibo.cn");
testBean.setAge(18);
return testBean;
}
对传过来的加密参数解密
@Decrypt
@PostMapping("/decryption")
public String Decryption(@RequestBody TestBean testBean){
return testBean.toString();
}