Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
security-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
security-platform
Commits
2374e09e
Commit
2374e09e
authored
May 20, 2022
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
asdffffffffff
parent
494d6587
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
63 additions
and
19 deletions
+63
-19
security-manager/src/main/java/com/mortals/xhx/busiz/message/MessageService.java
...in/java/com/mortals/xhx/busiz/message/MessageService.java
+2
-0
security-manager/src/main/java/com/mortals/xhx/busiz/message/impl/MessageServiceImpl.java
...om/mortals/xhx/busiz/message/impl/MessageServiceImpl.java
+29
-16
security-manager/src/main/java/com/mortals/xhx/busiz/web/SecurityApiController.java
...java/com/mortals/xhx/busiz/web/SecurityApiController.java
+32
-3
No files found.
security-manager/src/main/java/com/mortals/xhx/busiz/message/MessageService.java
View file @
2374e09e
...
...
@@ -7,4 +7,6 @@ public interface MessageService {
MessageReq
decryptMessage
(
MessageReq
req
);
MessageReq
encryptMessage
(
MessageReq
req
);
}
\ No newline at end of file
security-manager/src/main/java/com/mortals/xhx/busiz/message/impl/MessageServiceImpl.java
View file @
2374e09e
package
com.mortals.xhx.busiz.message.impl
;
import
cn.hutool.core.util.IdUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.util.HttpUtil
;
import
com.mortals.framework.util.security.sm.SM4Utils
;
import
com.mortals.xhx.busiz.message.MessageService
;
import
com.mortals.xhx.busiz.req.MessageReq
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.common.key.Constant
;
import
com.mortals.xhx.common.utils.RSAUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
java.util.HashMap
;
import
java.util.Map
;
import
static
com
.
mortals
.
framework
.
util
.
HttpUtil
.
HEADER_CONTENT_TYPE
;
/**
* DeviceService
...
...
@@ -42,6 +27,34 @@ public class MessageServiceImpl implements MessageService {
messageReq
.
setKey
(
req
.
getKey
());
messageReq
.
setDecryptContent
(
decryptContent
);
return
messageReq
;
}
else
if
(
"SM4"
.
equalsIgnoreCase
(
req
.
getAlgorithm
()))
{
SM4Utils
sm4Utils
=
new
SM4Utils
();
sm4Utils
.
setSecretKey
(
req
.
getPassword
());
String
decryptContent
=
sm4Utils
.
decryptData_ECB
(
req
.
getDecryptContent
());
MessageReq
messageReq
=
new
MessageReq
();
messageReq
.
setKey
(
req
.
getKey
());
messageReq
.
setDecryptContent
(
decryptContent
);
return
messageReq
;
}
return
req
;
}
@Override
public
MessageReq
encryptMessage
(
MessageReq
req
)
{
if
(
"RSA"
.
equalsIgnoreCase
(
req
.
getAlgorithm
()))
{
String
decryptContent
=
RSAUtils
.
decode
(
req
.
getContent
(),
req
.
getPassword
());
MessageReq
messageReq
=
new
MessageReq
();
messageReq
.
setKey
(
req
.
getKey
());
messageReq
.
setDecryptContent
(
decryptContent
);
return
messageReq
;
}
else
if
(
"SM4"
.
equalsIgnoreCase
(
req
.
getAlgorithm
()))
{
SM4Utils
sm4Utils
=
new
SM4Utils
();
sm4Utils
.
setSecretKey
(
req
.
getPassword
());
String
decryptContent
=
sm4Utils
.
encryptData_ECB
(
req
.
getContent
());
MessageReq
messageReq
=
new
MessageReq
();
messageReq
.
setKey
(
req
.
getKey
());
messageReq
.
setDecryptContent
(
decryptContent
);
return
messageReq
;
}
return
req
;
}
...
...
security-manager/src/main/java/com/mortals/xhx/busiz/web/SecurityApiController.java
View file @
2374e09e
...
...
@@ -85,19 +85,48 @@ public class SecurityApiController {
@PostMapping
(
"encrypt"
)
public
String
encrypt
(
MessageReq
req
)
{
log
.
info
(
"【加密】【请求体】--> "
+
JSONObject
.
toJSONString
(
req
));
ApiResp
<
MessageRe
sp
>
rsp
=
new
ApiResp
<>();
ApiResp
<
MessageRe
q
>
rsp
=
new
ApiResp
<>();
rsp
.
setCode
(
ApiRespCodeEnum
.
SUCCESS
.
getValue
());
MessageResp
messageResp
=
new
MessageResp
();
try
{
MessageReq
messageReq
=
messageService
.
encryptMessage
(
req
);
rsp
.
setData
(
messageReq
);
}
catch
(
Exception
e
)
{
log
.
error
(
"接收数据失败"
,
e
);
rsp
.
setCode
(
ApiRespCodeEnum
.
FAILED
.
getValue
());
rsp
.
setMsg
(
e
.
getMessage
());
return
JSON
.
toJSONString
(
rsp
);
}
log
.
info
(
"响应【加密】【响应体】--> "
+
JSONObject
.
toJSONString
(
rsp
));
return
JSON
.
toJSONString
(
rsp
);
}
/**
* 批量加密
*
* @param reqList
* @return
*/
@PostMapping
(
"encryptBatch"
)
public
String
encryptBatch
(
@RequestBody
List
<
MessageReq
>
reqList
)
{
log
.
info
(
"【批量加密】【请求体】--> "
+
JSONObject
.
toJSONString
(
reqList
));
ApiResp
<
List
<
MessageReq
>>
rsp
=
new
ApiResp
<>();
rsp
.
setCode
(
ApiRespCodeEnum
.
SUCCESS
.
getValue
());
try
{
List
<
MessageReq
>
respList
=
new
ArrayList
<>();
reqList
.
stream
().
forEach
(
req
->{
MessageReq
messageReq
=
messageService
.
encryptMessage
(
req
);
respList
.
add
(
messageReq
);
});
rsp
.
setData
(
respList
);
}
catch
(
Exception
e
)
{
log
.
error
(
"接收数据失败"
,
e
);
rsp
.
setCode
(
ApiRespCodeEnum
.
FAILED
.
getValue
());
rsp
.
setMsg
(
e
.
getMessage
());
return
JSON
.
toJSONString
(
rsp
);
}
log
.
info
(
"响应【加密】【响应体】--> "
+
JSONObject
.
toJSONString
(
rsp
));
log
.
info
(
"响应【
批量
加密】【响应体】--> "
+
JSONObject
.
toJSONString
(
rsp
));
return
JSON
.
toJSONString
(
rsp
);
}
...
...
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