Commit 2374e09e authored by 赵啸非's avatar 赵啸非

asdffffffffff

parent 494d6587
...@@ -7,4 +7,6 @@ public interface MessageService { ...@@ -7,4 +7,6 @@ public interface MessageService {
MessageReq decryptMessage(MessageReq req); MessageReq decryptMessage(MessageReq req);
MessageReq encryptMessage(MessageReq req);
} }
\ No newline at end of file
package com.mortals.xhx.busiz.message.impl; package com.mortals.xhx.busiz.message.impl;
import cn.hutool.core.util.IdUtil; import com.mortals.framework.util.security.sm.SM4Utils;
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.xhx.busiz.message.MessageService; import com.mortals.xhx.busiz.message.MessageService;
import com.mortals.xhx.busiz.req.MessageReq; 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 com.mortals.xhx.common.utils.RSAUtils;
import lombok.extern.slf4j.Slf4j; 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.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 * DeviceService
...@@ -42,6 +27,34 @@ public class MessageServiceImpl implements MessageService { ...@@ -42,6 +27,34 @@ public class MessageServiceImpl implements MessageService {
messageReq.setKey(req.getKey()); messageReq.setKey(req.getKey());
messageReq.setDecryptContent(decryptContent); messageReq.setDecryptContent(decryptContent);
return messageReq; 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; return req;
} }
......
...@@ -85,19 +85,48 @@ public class SecurityApiController { ...@@ -85,19 +85,48 @@ public class SecurityApiController {
@PostMapping("encrypt") @PostMapping("encrypt")
public String encrypt(MessageReq req) { public String encrypt(MessageReq req) {
log.info("【加密】【请求体】--> " + JSONObject.toJSONString(req)); log.info("【加密】【请求体】--> " + JSONObject.toJSONString(req));
ApiResp<MessageResp> rsp = new ApiResp<>(); ApiResp<MessageReq> rsp = new ApiResp<>();
rsp.setCode(ApiRespCodeEnum.SUCCESS.getValue()); rsp.setCode(ApiRespCodeEnum.SUCCESS.getValue());
MessageResp messageResp = new MessageResp();
try { 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) { } catch (Exception e) {
log.error("接收数据失败", e); log.error("接收数据失败", e);
rsp.setCode(ApiRespCodeEnum.FAILED.getValue()); rsp.setCode(ApiRespCodeEnum.FAILED.getValue());
rsp.setMsg(e.getMessage()); rsp.setMsg(e.getMessage());
return JSON.toJSONString(rsp); return JSON.toJSONString(rsp);
} }
log.info("响应【加密】【响应体】--> " + JSONObject.toJSONString(rsp)); log.info("响应【批量加密】【响应体】--> " + JSONObject.toJSONString(rsp));
return JSON.toJSONString(rsp); return JSON.toJSONString(rsp);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment