代码拉取完成,页面将自动刷新
同步操作将从 guo/dtguai-encrypt-spring-boot-starter 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
数据传输加密/解密及数字证书(数据防改)的组件
默认为AES
value 默认为 DecryptBodyMethod.AES; long 默认为0不限制超时时间
<properties>
<java.version>8</java.version>
</properties>
<dependency>
<groupId>com.dtguai</groupId>
<artifactId>dtguai-encrypt-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>
@RestController
@RequestMapping("/test")
public class TestController {
//需要数字证书
@Sign
//des解密
@DecryptBody(value = DecryptBodyMethod.DES)
//des输出加密
@EncryptBody(value = EncryptBodyMethod.DES)
public String api() {
return "小邱爱小付";
}
}
@Sign
@DecryptBody(value = DecryptBodyMethod.RSA)
@EncryptBody(value = EncryptBodyMethod.RSA)
public ApiResponse<?> rsaSign(@RequestBody TestRsaDataSecretForm user){
}
需要在原有的入参form添加 sign 和 dataSecret 字段
揭秘原理:接到解密数据和sign数据会解密完放到对应对象字段
public class TestRsaDataSecretForm {
@ApiModelProperty(hidden = true)
private String mobile;
@ApiModelProperty(hidden = true)
private String password;
@ApiModelProperty(hidden = true)
private String timestamp;
@ApiModelProperty(value = "数字签名", example = "")
private String sign;
@NotBlank(message = "加密数据不能为空", groups = {LoginGroup.class})
private String dataSecret;
}
public class ApiResponse<T> {
//返回对象中 需要有result 字段 加密是根据此字段加密
@JsonInclude(Include.NON_NULL)
private T result;
如果名字不是result 请使用自定义 @EncryptBody(encryptMsgName=xxx)
application.yml
或application.properties
文件中进行参数配置,例如:dtguai:
encrypt:
body:
#AES加密秘钥
aes-key: xiaoFuLoveXiaoQi
#DES加密秘钥
des-key: xiaoFuLoveXiaoQiu
#RSA 生成公钥/私钥
rsa-key: xiaoFuLoveXiaoQiu
#RSA私钥
rsa-pir-key: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCi7oI1cAnv5YPHPbu2NkDqgGlEWNVM6na6pL0xZoS1Uv0KmWTHNW5gaFmnOxiqjU9wxrwCSPMCpGDpUz/pDY/46mRUO+acdf29F0ERZIdLAm+H8Jk6Z+3QwB9YLm/YQm56RSqJL/Vw4ejVzx2OHh6TJmCeAl2gnKQ5UFgynBJN88RImtodAt2DTrFWCZ7WYcIjzAemYTNcoZQliM7Jt4CSh5acUer1opG2m3nVRaE4GEO6ZScyHndzjLwLKSbLrMvCXSEbpqH9NLGdY6wL7gSVWU6fhUYSZQS2CjDMXOMQvy+NQZ4qEcGfLJ6NjmPPfvO3Vf8aTi+0Dndm1vB2m0hLAgMBAAECggEBAJx4ZT+ge0qRpf4/wPd6HtmVvIJQtXeKa79O2gqJI8VnD2+QZIITRA7956t8S3HvB22MzZ18JTRSXGd29ZeA2NT5dKSYah20Cpv/qxNi8bMNgcKRQvYePPsOpotu/SY4lhSCPBlHn3Rq38oFf6KuNjqmzn6wUu4dwHDyQeFIlSOZ/0MdcIzHfkroogVFuo9G7jTXb/HJA84wWC/EG41GqIE0Zu/8u+gkDQsNggt0rU3ntPinudwp9sySmBY/7oK1+IpucM9nA9j7N5MmyXK3lLaWSGD4cGS5m4gy+cUnPVPNFMAhMcAzVFWv9mGTdsOzeGheCoLy9D3+IwgNUC68gmECgYEA3YjJWAWVzI/kspjGKBzT0L1f3t8nju5H14d+xvAGyN/FkD7+NEzkSE0lNCh4gK3YbCQeYKItC9T2VgPWIfkksXbKjKKZ8gMvMM3hCf1y7KUcghXwGNNRcLO+DpzduUQ2g122mPLsvjsOpRX1ByasBD7wQ3rf3XKY+XrXJJ0BY3kCgYEAvEe15j2QDOoMAfxNdlzf5Z8d34JwnsfNYdzpz4zzvAjnXSe6FawabU6jgaJUH8oMSYIIpYjf3HUu0CNTKYRHezz9nXiFgNFwmRmkmjEqDAMIjVkN3rsaP3A7ST24gT7xVcua3BRIITv2KVwYZYWZN5yvjeqXoD3zg9XSYsUntOMCgYBzwvSjgFeky1RQVzDE6TtuCmc8iROcxrrXzz/aKLcC5JvSIninT77CYT2docBGTZGYAM+240fytNf8XojYu94GtfJlxtn28t8H+60qkTwqmKTq/Re3gUU/RU19SU87bn+l6aRvDBHV3fprHawqjnS4y0K1oFG24Bk71Irz4O9G0QKBgCA+x9BeysTrcJMGet3CmjXhQmR9GnyXC32vL/vzz+psO/OgUiZUC1KdHTOecXngSKpuMrzm7C/9gb7zzdJWbUeV8nl9op+lPvt5gM9HjEPyYQyUK+Pxd1VWC1FH2MmJ1hsze5olfxTyB/6dXzBD6TG1C/vqKX2wHnx9qkJwMZSxAoGBAIo9aDm/Y1+I3wjm+rM2Tk43a56y1UdE6EAJ0fFv8cknxPOPnDvUtNFqDEzIbv3QLeGZkZyfgVGHnc4f2PZ//k+3okmxRF08uVAQIX8V5yrvbA2u0DkTW05gfajAoYjHa8PRL1UeSt9YRVC6h3jT3Kc/GMjoSXLMTmOwAFUDM4ep
#RSA公钥
rsa-pub-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAou6CNXAJ7+WDxz27tjZA6oBpRFjVTOp2uqS9MWaEtVL9CplkxzVuYGhZpzsYqo1PcMa8AkjzAqRg6VM/6Q2P+OpkVDvmnHX9vRdBEWSHSwJvh/CZOmft0MAfWC5v2EJuekUqiS/1cOHo1c8djh4ekyZgngJdoJykOVBYMpwSTfPESJraHQLdg06xVgme1mHCI8wHpmEzXKGUJYjOybeAkoeWnFHq9aKRtpt51UWhOBhDumUnMh53c4y8Cykmy6zLwl0hG6ah/TSxnWOsC+4ElVlOn4VGEmUEtgowzFzjEL8vjUGeKhHBnyyejY5jz37zt1X/Gk4vtA53ZtbwdptISwIDAQAB
#SM2私钥
sm2-pir-key: MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgEs/mFVKRAQjqpAFFOuZGT9or50YMe/ipaiDFAathMTegCgYIKoEcz1UBgi2hRANCAATjybx66wZBVHyMGyZkysqwR7F+wOEzRwi8Mu3Phv6XVLV3qyhtgDa44ujNsHhGbCP4fxdiA7NS2AfeJn6RTVND
#SM2对方公钥
sm2-pub-key: MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE48m8eusGQVR8jBsmZMrKsEexfsDhM0cIvDLtz4b+l1S1d6sobYA2uOLozbB4Rmwj+H8XYgOzUtgH3iZ+kU1TQw==
#SM4加密秘钥
sm4-key: xiaoFuLoveXiaoQi
#自定义返回类中需要加密的字段名称 默认为result
#result-name: cxbn
sign:
key: qyxVsFzp
#自定义数字证书 过滤值 默认为"token","sign","dataSecret"
# ignore:
# - token
# - sign
# - dataSecret
# - name
# - klr
@RestController
@RequestMapping("/test")
public class TestController {
@Sign
public String api() {
return "小邱爱小付";
}
}
private String aesKey;
private String desKey;
private String rsaKey;
private String encoding="UTF-8";
private String rsaPirKey;
private String rsaPubKey;
private String sm2PirKey;
private String sm2PubKey;
private String sm4Key;
/**
* Aes密码算法及填充方式
*/
private String aesCipherAlgorithm="AES/GCM/NoPadding";
/**
* Aes密码算法及填充方式
*/
private String desCipherAlgorithm="DES/ECB/PKCS5Padding";
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。