<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-api-crypto</artifactId>
</dependency>
@ApiEncryptAes
)@ApiEncryptDes
)@ApiDecryptAes
)@ApiDecryptDes
)@ApiDecryptAes
、@ApiDecryptDes
、@ApiDecryptRsa
,注解 secretKey
可配置当前使用的私钥,优先于全局的配置。
可使用范围:
1. 方法参数(用于get、post 的 url 参数),可配置统一的url变量名。base64 的 json 数据。
2. 方法,用于(post 的 body)
3. 类,表示整个控制器的(post 的 body)用于加密。
@ApiEncryptAes
,@ApiEncryptDes
、@ApiEncryptRsa
,注解 secretKey
可配置当前使用的私钥,优先于全局的配置。
可使用范围:
1. 方法,用于响应的 body加密。
2. 类,表示整个控制器的响应的 body加密。
配置项 | 默认值 | 说明 |
---|---|---|
blade.api.crypto.enable | true | 是否开启 api 签名 |
blade.api.crypto.param-name | data | url的参数签名,传递的参数名。例如:/user?data=签名后的数据 |
blade.api.crypto.rsa-private-key | rsa 私钥 | |
blade.api.crypto.aes-key | aes 密钥 | |
blade.api.crypto.des-key | des 密钥 |
注意:代码中的文本转换和签名均采用的 utf-8
字符集。
本模块需要开启jackson
text-plain
的支持。
~~~yaml
blade:
#接口配置
api:
# 报文加密配置
crypto:
# 启用报文加密配置
enabled: true
# 使用AesUtil.genAesKey()生成
aes-key: "O2BEeIv399qHQNhD6aGW8R8DEj4bqHXm"
# 使用DesUtil.genDesKey()生成
des-key: "jMVCBsFGDQr1USHo"
#jackson配置
jackson:
# 支持text文本请求,与报文加密同时开启
support-text-plain: true
~~~