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