Browse Source

jyj 2 恢复密码提交

jyj_dev2
zhouhaibin 1 month ago
parent
commit
aad881b84c
  1. 11
      ruoyi-admin/src/main/resources/application.yml
  2. 4
      ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/DecryptRequestBodyWrapper.java
  3. 6
      ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/EncryptResponseBodyWrapper.java

11
ruoyi-admin/src/main/resources/application.yml

@ -160,7 +160,7 @@ mybatis-encryptor:
# 是否开启加密 # 是否开启加密
enable: false enable: false
# 默认加密算法 # 默认加密算法
algorithm: SM4 algorithm: BASE64
# 编码方式 BASE64/HEX。默认BASE64 # 编码方式 BASE64/HEX。默认BASE64
encode: BASE64 encode: BASE64
# 安全秘钥 对称算法的秘钥 如:AES,SM4 # 安全秘钥 对称算法的秘钥 如:AES,SM4
@ -177,14 +177,15 @@ api-decrypt:
headerFlag: encrypt-key headerFlag: encrypt-key
# 响应加密公钥 非对称算法的公私钥 如:SM2,RSA 使用者请自行更换 # 响应加密公钥 非对称算法的公私钥 如:SM2,RSA 使用者请自行更换
# 对应前端解密私钥 MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE= # 对应前端解密私钥 MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE=
# publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnNwrj4hi/y3CCJu868ghCG5dUj8wZK++RNlTLcXoMmdZWEQ/u02RgD5LyLAXGjLOjbMtC+/J9qofpSGTKSx/MCAwEAAQ== publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnNwrj4hi/y3CCJu868ghCG5dUj8wZK++RNlTLcXoMmdZWEQ/u02RgD5LyLAXGjLOjbMtC+/J9qofpSGTKSx/MCAwEAAQ==
publicKey: 04f41b6910c3ad0edbd184cc0fdefc1b6cd2a8e6b3cad6ad01f412d86fdd9895079cea172828dd34376347fbb527eced9d71d0c1c68971c56e671cdb43d9920942 # publicKey: 04f41b6910c3ad0edbd184cc0fdefc1b6cd2a8e6b3cad6ad01f412d86fdd9895079cea172828dd34376347fbb527eced9d71d0c1c68971c56e671cdb43d9920942
# 请求解密私钥 非对称算法的公私钥 如:SM2,RSA 使用者请自行更换 # 请求解密私钥 非对称算法的公私钥 如:SM2,RSA 使用者请自行更换
# 对应前端加密公钥 MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ== # 对应前端加密公钥 MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==
# privateKey: MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKNPuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gAkM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWowcSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99EcvDQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthhYhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3UP8iWi1Qw0Y= privateKey: MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKNPuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gAkM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWowcSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99EcvDQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthhYhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3UP8iWi1Qw0Y=
privateKey: 00bb2ea7a18607f85b0dc4939fcebba1cb0efd1f674f8e9a4e85e1db0d53a5988e # privateKey: 00bb2ea7a18607f85b0dc4939fcebba1cb0efd1f674f8e9a4e85e1db0d53a5988e
springdoc: springdoc:
api-docs: api-docs:
# 是否开启接口文档 # 是否开启接口文档
enabled: true enabled: true

4
ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/DecryptRequestBodyWrapper.java

@ -29,7 +29,7 @@ public class DecryptRequestBodyWrapper extends HttpServletRequestWrapper {
// 获取 sm4 密码 采用 RSA 加密 // 获取 sm4 密码 采用 RSA 加密
String headerRsa = request.getHeader(headerFlag); String headerRsa = request.getHeader(headerFlag);
// String decryptAes = EncryptUtils.decryptByRsa(headerRsa, privateKey); // String decryptAes = EncryptUtils.decryptByRsa(headerRsa, privateKey);
String decryptAes = EncryptUtils.decryptBySm2(headerRsa, privateKey); String decryptAes = EncryptUtils.decryptByRsa(headerRsa, privateKey);
// 解密 sm4 密码 // 解密 sm4 密码
String aesPassword = EncryptUtils.decryptByBase64(decryptAes); String aesPassword = EncryptUtils.decryptByBase64(decryptAes);
@ -38,7 +38,7 @@ public class DecryptRequestBodyWrapper extends HttpServletRequestWrapper {
String requestBody = new String(readBytes, StandardCharsets.UTF_8); String requestBody = new String(readBytes, StandardCharsets.UTF_8);
// 解密 body 采用 sm4 加密 // 解密 body 采用 sm4 加密
// String decryptBody = EncryptUtils.decryptByAes(requestBody, aesPassword); // String decryptBody = EncryptUtils.decryptByAes(requestBody, aesPassword);
String decryptBody = EncryptUtils.decryptBySm4(requestBody, aesPassword); String decryptBody = EncryptUtils.decryptByAes(requestBody, aesPassword);
body = decryptBody.getBytes(StandardCharsets.UTF_8); body = decryptBody.getBytes(StandardCharsets.UTF_8);
} }

6
ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/EncryptResponseBodyWrapper.java

@ -71,13 +71,13 @@ public class EncryptResponseBodyWrapper extends HttpServletResponseWrapper {
public String getEncryptContent(HttpServletResponse servletResponse, String publicKey, String headerFlag) throws IOException { public String getEncryptContent(HttpServletResponse servletResponse, String publicKey, String headerFlag) throws IOException {
// 生成秘钥 // 生成秘钥
// String aesPassword = RandomUtil.randomString(16); // String aesPassword = RandomUtil.randomString(16);
String aesPassword = SM4Util.generateKey(); String aesPassword = RandomUtil.randomString(32);
// 秘钥使用 Base64 编码 // 秘钥使用 Base64 编码
String encryptAes = EncryptUtils.encryptByBase64(aesPassword); String encryptAes = EncryptUtils.encryptByBase64(aesPassword);
// Rsa 公钥加密 Base64 编码 // Rsa 公钥加密 Base64 编码
// String encryptPassword = EncryptUtils.encryptByRsa(encryptAes, publicKey); // String encryptPassword = EncryptUtils.encryptByRsa(encryptAes, publicKey);
String encryptPassword = EncryptUtils.encryptBySm2Hex(encryptAes, publicKey); String encryptPassword = EncryptUtils.encryptByRsa(encryptAes, publicKey);
// 设置响应头 // 设置响应头
servletResponse.addHeader("Access-Control-Expose-Headers", headerFlag); servletResponse.addHeader("Access-Control-Expose-Headers", headerFlag);
@ -89,7 +89,7 @@ public class EncryptResponseBodyWrapper extends HttpServletResponseWrapper {
// 获取原始内容 // 获取原始内容
String originalBody = this.getContent(); String originalBody = this.getContent();
// 对内容进行加密 // 对内容进行加密
return EncryptUtils.encryptBySm4(originalBody, aesPassword); return EncryptUtils.encryptByAes(originalBody, aesPassword);
} }
@Override @Override

Loading…
Cancel
Save