Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qa-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
qa-platform
Commits
0627e108
Commit
0627e108
authored
Feb 08, 2021
by
黎博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增kdsp提交订单加密接口
parent
3450b658
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
2 deletions
+34
-2
KdspDecryptController.java
...qg/qaplatform/zdata/controller/KdspDecryptController.java
+34
-2
No files found.
src/main/java/cn/qg/qaplatform/zdata/controller/KdspDecryptController.java
View file @
0627e108
...
@@ -5,24 +5,56 @@ import cn.qg.qaplatform.zdata.utils.AESUtil;
...
@@ -5,24 +5,56 @@ import cn.qg.qaplatform.zdata.utils.AESUtil;
import
cn.qg.qaplatform.zdata.utils.RSA
;
import
cn.qg.qaplatform.zdata.utils.RSA
;
import
cn.qg.qaplatform.zdata.vo.EncryptRequest
;
import
cn.qg.qaplatform.zdata.vo.EncryptRequest
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
import
org.springframework.web.bind.annotation.CrossOrigin
;
import
org.springframework.web.bind.annotation.CrossOrigin
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Date
;
import
java.util.UUID
;
@CrossOrigin
@CrossOrigin
@RestController
@RestController
@RequestMapping
(
"/kdsp"
)
@RequestMapping
(
"/kdsp"
)
public
class
KdspDecryptController
{
public
class
KdspDecryptController
{
private
final
String
APP_PRIMARY_KEY
=
"MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIZ/jCc0lcdcznjCybFPCGmI9oCnbvMzdCyta7X4Y4ygIOYAQ5vaNiPI2HAEh5X15jR/Cgr4x9YHLBuifKnJezWPmX+ZOYVFDwhlj7FkXS3TVyiuegykomdyg2LCpz06eyLAY+rMiz+ItqUGiemmqFZKfSD328VLaqCvRac5aWotAgMBAAECgYA8E1Kt3F4ee4S6Cf9/FFcklInOc3sqZEw6/IdE85q7oHaxZWLNhY1zNG4AsvVA9WILBsecmPzhy7hW66AVUqqWXA8jLIg/J3UyIRQo1sH9cX+3iERhNZluxXzxcX/UXrVQihyEFWZbehtpXFfPq1F7XzkTKy8qSodRLO79F8Tc/QJBAOF2vZ4Ah8GhiZP/KMYX7Q1fY5x/zTKmnNs1fJGDoRmgcF47Inzf2Ovjo+do/QdCf+Bzki6WG0AOpIHKksuw5r8CQQCYtttPfP8FKRxumcczNmkaKDWjrKElwRcGef5OuNBb7Crso9gUY+sL9/4kQHfmBfCS6KVbAA56RSdeSWFYZDYTAkA58pbRoTlDHw2JKC+Gmmem5Dlp478NoZz3Ckw16irht0aqMXCvv6i1GBDsTSObVhAf1BRiPNpMIHdPlI0eJR1pAkA7Oge6P0cEcFpHhrpb4UlHzLpo3QWuh8FvUJbRXxnn3KMVHcIqvkmlXauh0aLugfU4dKPUtCPpRbKr/ZeUWWEjAkAN5D5hH16RwrR6KN8W7t0gnlwOECPD8KbBQeWSja9r8C/yWMmr4RsWirBoDSYu4IG8jnrNcmYk8l1eAWmNyJWe"
;
@GetMapping
(
"/decrypt"
)
@GetMapping
(
"/decrypt"
)
public
JsonResult
decryptKdsp
(
String
data
)
throws
Exception
{
public
JsonResult
decryptKdsp
(
String
data
)
throws
Exception
{
EncryptRequest
encryptRequest
=
JSON
.
parseObject
(
data
,
EncryptRequest
.
class
);
EncryptRequest
encryptRequest
=
JSON
.
parseObject
(
data
,
EncryptRequest
.
class
);
String
privateKey
=
"MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIZ/jCc0lcdcznjCybFPCGmI9oCnbvMzdCyta7X4Y4ygIOYAQ5vaNiPI2HAEh5X15jR/Cgr4x9YHLBuifKnJezWPmX+ZOYVFDwhlj7FkXS3TVyiuegykomdyg2LCpz06eyLAY+rMiz+ItqUGiemmqFZKfSD328VLaqCvRac5aWotAgMBAAECgYA8E1Kt3F4ee4S6Cf9/FFcklInOc3sqZEw6/IdE85q7oHaxZWLNhY1zNG4AsvVA9WILBsecmPzhy7hW66AVUqqWXA8jLIg/J3UyIRQo1sH9cX+3iERhNZluxXzxcX/UXrVQihyEFWZbehtpXFfPq1F7XzkTKy8qSodRLO79F8Tc/QJBAOF2vZ4Ah8GhiZP/KMYX7Q1fY5x/zTKmnNs1fJGDoRmgcF47Inzf2Ovjo+do/QdCf+Bzki6WG0AOpIHKksuw5r8CQQCYtttPfP8FKRxumcczNmkaKDWjrKElwRcGef5OuNBb7Crso9gUY+sL9/4kQHfmBfCS6KVbAA56RSdeSWFYZDYTAkA58pbRoTlDHw2JKC+Gmmem5Dlp478NoZz3Ckw16irht0aqMXCvv6i1GBDsTSObVhAf1BRiPNpMIHdPlI0eJR1pAkA7Oge6P0cEcFpHhrpb4UlHzLpo3QWuh8FvUJbRXxnn3KMVHcIqvkmlXauh0aLugfU4dKPUtCPpRbKr/ZeUWWEjAkAN5D5hH16RwrR6KN8W7t0gnlwOECPD8KbBQeWSja9r8C/yWMmr4RsWirBoDSYu4IG8jnrNcmYk8l1eAWmNyJWe"
;
//使用服务端私钥对AES key进行解密
//使用服务端私钥对AES key进行解密
String
encryptKey
=
RSA
.
decryptFromBase64
(
encryptRequest
.
getEncryptKey
(),
privateKey
);
String
encryptKey
=
RSA
.
decryptFromBase64
(
encryptRequest
.
getEncryptKey
(),
APP_PRIMARY_KEY
);
String
result
=
AESUtil
.
decryptFromBase64
(
encryptRequest
.
getBody
(),
encryptKey
);
String
result
=
AESUtil
.
decryptFromBase64
(
encryptRequest
.
getBody
(),
encryptKey
);
return
JsonResult
.
success
(
result
);
return
JsonResult
.
success
(
result
);
}
}
@GetMapping
(
"/encrypt"
)
public
JsonResult
encryptKdsp
(
String
data
)
throws
Exception
{
EncryptRequest
encryptRequest
=
new
EncryptRequest
();
//加密过程
String
appId
=
"102"
;
String
SERVER_PUBLIC_KEY
=
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCGf4wnNJXHXM54wsmxTwhpiPaAp27zM3QsrWu1+GOMoCDmAEOb2jYjyNhwBIeV9eY0fwoK+MfWBywbonypyXs1j5l/mTmFRQ8IZY+xZF0t01cornoMpKJncoNiwqc9OnsiwGPqzIs/iLalBonppqhWSn0g99vFS2qgr0WnOWlqLQIDAQAB"
;
String
nonce
=
UUID
.
randomUUID
().
toString
();
String
timeStamp
=
DateFormatUtils
.
format
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
);
//生成AES key
String
randomKey
=
AESUtil
.
getRandomKey
();
//使用AES key对业务数据进行加密
String
encodeBody
=
AESUtil
.
encryptToBase64
(
data
,
randomKey
);
String
body
=
appId
+
nonce
+
timeStamp
+
encodeBody
;
//使用私钥进行签名
String
sign
=
RSA
.
sign
(
body
,
APP_PRIMARY_KEY
);
//使用服务端公钥对AES key进行加密
String
encryptKey
=
RSA
.
encryptToBase64
(
randomKey
,
SERVER_PUBLIC_KEY
);
encryptRequest
.
setAppId
(
appId
);
encryptRequest
.
setEncryptKey
(
encryptKey
);
encryptRequest
.
setBody
(
encodeBody
);
encryptRequest
.
setSign
(
sign
);
encryptRequest
.
setNonce
(
nonce
);
encryptRequest
.
setTimestamp
(
timeStamp
);
return
JsonResult
.
success
(
JSON
.
toJSONString
(
encryptRequest
));
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment