From 0a206fc6c66c564aced22ad6b16f6f8be27e2fc7 Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期二, 17 五月 2022 10:35:55 +0800
Subject: [PATCH] 更新加密解密

---
 src/main/java/com/whyc/service/ComInfoService.java |   39 +++++++++++++++++++++++++++------------
 1 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/whyc/service/ComInfoService.java b/src/main/java/com/whyc/service/ComInfoService.java
index 9c36321..def461e 100644
--- a/src/main/java/com/whyc/service/ComInfoService.java
+++ b/src/main/java/com/whyc/service/ComInfoService.java
@@ -5,24 +5,39 @@
 import com.whyc.pojo.RSAUtil;
 import com.whyc.pojo.Response;
 import org.springframework.stereotype.Service;
+import sun.security.mscapi.CKeyPairGenerator;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
 
 @Service
 public class ComInfoService {
 
     public Response getComInfoRSA(){
-        ComInfo cInfo=new ComInfo();
-        cInfo.setCpuId(HardWareUtils.getCPUSerial());
-        cInfo.setCpuIdRsa(RSAUtil.encrypt(cInfo.getCpuId(),RSAUtil.getPublicKey()));
-
-        cInfo.setBoardId(HardWareUtils.getMotherboardSN());
-        cInfo.setBoardIdRsa(RSAUtil.encrypt(cInfo.getBoardId(),RSAUtil.getPublicKey()));
-
-        return  new Response().setII(1,cInfo,cInfo!=null?true:false,"");
+        try {
+            String cpuNumber = HardWareUtils.getCPUNumber();
+            String baseboardNumber = HardWareUtils.getBaseboardNumber();
+            String serialNumberMix = cpuNumber + RSAUtil.fontSeparator + baseboardNumber;
+            String serialNumberMixRSA = RSAUtil.encrypt(serialNumberMix, RSAUtil.getPublicKey());
+            return  new Response().set(1,serialNumberMixRSA);
+        }catch (Exception e){
+            return new Response().set(0);
+        }
     }
 
-    public Response getComInfo(ComInfo cInfo) {
-        cInfo.setCpuId(RSAUtil.decrypt(cInfo.getCpuIdRsa(),RSAUtil.getPrivateKey()));
-        cInfo.setBoardId(RSAUtil.decrypt(cInfo.getBoardIdRsa(),RSAUtil.getPrivateKey()));
-        return  new Response().setII(1,cInfo,cInfo!=null?true:false,"");
+    public Response getComInfo(String  serialNumberMixRSA) {
+        try {
+            serialNumberMixRSA = URLDecoder.decode(serialNumberMixRSA, "utf-8");
+            String serialNumberMix = RSAUtil.decrypt(serialNumberMixRSA, RSAUtil.getPrivateKey());
+            String[] numberArr = serialNumberMix.split(RSAUtil.fontSeparator);
+
+            ComInfo comInfo = new ComInfo();
+            comInfo.setCpuId(numberArr[0]);
+            comInfo.setBoardId(numberArr[1]);
+            return new Response().set(1,comInfo);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return new Response().set(0);
     }
 }

--
Gitblit v1.9.1