|
@@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.fdkankan.reg.dto.CamRegDto;
|
|
|
import com.fdkankan.reg.dto.CamRegSDto;
|
|
|
import com.fdkankan.reg.dto.MachineRegDto;
|
|
|
+import lombok.Builder;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
@@ -15,8 +16,12 @@ import cn.hutool.core.util.ObjUtil;
|
|
|
* @date 2023/7/6
|
|
|
*/
|
|
|
@Slf4j
|
|
|
+@Builder
|
|
|
public class RegCodeUtil {
|
|
|
|
|
|
+ private String env;
|
|
|
+
|
|
|
+
|
|
|
/***
|
|
|
* @description:生成安装码
|
|
|
* @author: Xiewj
|
|
@@ -24,8 +29,8 @@ public class RegCodeUtil {
|
|
|
* @param: machineCode 机器码
|
|
|
* @return:
|
|
|
**/
|
|
|
- public static String GenRegeditCode(String machineCode){
|
|
|
- String s = Crypt.encryptAES(machineCode.trim(), true);
|
|
|
+ public String GenRegeditCode(String machineCode){
|
|
|
+ String s = Crypt.encryptAES(machineCode.trim()+"##"+this.env, true);
|
|
|
log.info("安装注册码:{}",s);
|
|
|
return s;
|
|
|
}
|
|
@@ -37,7 +42,7 @@ public class RegCodeUtil {
|
|
|
* @param: plaintext 需要加密的字符串 [{"SN": "SN000001", "TOSN": "", "OPTION": "ADD"}]
|
|
|
* @return:
|
|
|
**/
|
|
|
- public static String GenRegeditCamCode(String plaintext){
|
|
|
+ public String GenRegeditCamCode(String plaintext){
|
|
|
String s = Crypt.encryptAES(plaintext.trim(), true);
|
|
|
log.info("相机注册码:{}",s);
|
|
|
log.info("相机注册码原始长度:{}",s.length());
|
|
@@ -54,7 +59,7 @@ public class RegCodeUtil {
|
|
|
* @param: plaintext 需要转换成对象的字符串
|
|
|
* @return:
|
|
|
**/
|
|
|
- public static MachineRegDto ParseMachineCode(String plaintext){
|
|
|
+ public MachineRegDto ParseMachineCode(String plaintext){
|
|
|
try {
|
|
|
String source = Crypt.decryptAES(plaintext.trim(), true);
|
|
|
log.info("相机注册码解密:{}",source);
|
|
@@ -72,7 +77,7 @@ public class RegCodeUtil {
|
|
|
// * @param: plaintext 需要转换成对象的字符串
|
|
|
// * @return:
|
|
|
// **/
|
|
|
-// public static CamRegDto ParseRegeditCamCode(String machineCode , String plaintext){
|
|
|
+// public CamRegDto ParseRegeditCamCode(String machineCode , String plaintext){
|
|
|
// try {
|
|
|
// //解压
|
|
|
// String code = DeflaterUtil.unzipString(plaintext);
|
|
@@ -97,7 +102,8 @@ public class RegCodeUtil {
|
|
|
* @param: plaintext 需要加密的字符串 [{"SN": "SN000001", "TOSN": ""},{"SN": "SN000001", "TOSN": ""}]
|
|
|
* @return:
|
|
|
**/
|
|
|
- public static String batchGenRegeditCamCode( CamRegSDto dtos){
|
|
|
+ public String batchGenRegeditCamCode( CamRegSDto dtos){
|
|
|
+ dtos.setEnv(env);
|
|
|
String camCode = GenRegeditCamCode(JSONObject.toJSONString(dtos).toString());
|
|
|
return camCode;
|
|
|
}
|
|
@@ -108,14 +114,21 @@ public class RegCodeUtil {
|
|
|
* @param: plaintext 需要转换成对象的字符串
|
|
|
* @return:
|
|
|
**/
|
|
|
- public static CamRegSDto BatchParseRegeditCamCode(String machineCode,String plaintext){
|
|
|
+ public CamRegSDto BatchParseRegeditCamCode(String machineCode,String plaintext){
|
|
|
try {
|
|
|
+ String trim=plaintext.trim();
|
|
|
+ if (trim.contains(" ")||trim.length()<=3){
|
|
|
+ throw new RuntimeException("校验失败");
|
|
|
+ }
|
|
|
//解压
|
|
|
- String code = DeflaterUtil.unzipString(plaintext.trim());
|
|
|
+ String code = DeflaterUtil.unzipString(trim);
|
|
|
log.info("批量生成相机码解压:{}",code);
|
|
|
String source = Crypt.decryptAES(code, true);
|
|
|
CamRegSDto t = JSON.toJavaObject(JSONObject.parseObject(source) , CamRegSDto.class);
|
|
|
- if (ObjUtil.isNotNull(t.getMachineCode()) && !t.getMachineCode().equals(machineCode.trim())){
|
|
|
+ if (!env.equals(t.getEnv())){
|
|
|
+ throw new RuntimeException("环境比对失败");
|
|
|
+ }
|
|
|
+ if (ObjUtil.isNotNull(t.getMachineCode()) && !t.getMachineCode().equals(machineCode.trim()) ){
|
|
|
throw new RuntimeException("校验失败");
|
|
|
}
|
|
|
return t;
|
|
@@ -124,17 +137,19 @@ public class RegCodeUtil {
|
|
|
throw new RuntimeException("校验失败");
|
|
|
}
|
|
|
}
|
|
|
- public static void main(String[] args) {
|
|
|
- String machineCode="E4E73A8EB46B8EA252B9C1B34048F60679FB345BC6F233A8369E355828B68F69FDAB2150B286C0E0A397D960183716F8BF4C8B086D4C5BB5D1243CB9AA924B6B8A0ED22ED413BD27681CE5C36198EBF7FE06E75CD444B46A7721E2462DD234EB6B5B780F1FB9CF3C26C3ED4DB7B08B20";
|
|
|
+ public static void main(String[] args) {
|
|
|
+ RegCodeUtil uat = RegCodeUtil.builder().env("UAT").build();
|
|
|
+
|
|
|
+ String machineCode="8CA4224EB41BE3AD8998415EA0460F39845AC74625B3158A84AD18CEAC5FD6F4500CCC34309F7045F726AA6968F908C9";
|
|
|
|
|
|
|
|
|
//读取机器码
|
|
|
- MachineRegDto machineRegDto = ParseMachineCode(machineCode);
|
|
|
+ MachineRegDto machineRegDto = uat.ParseMachineCode(machineCode);
|
|
|
System.out.println(machineRegDto);
|
|
|
|
|
|
|
|
|
//生成安装注册码
|
|
|
- String s = GenRegeditCode(machineCode);
|
|
|
+ String s = uat.GenRegeditCode(machineCode);
|
|
|
|
|
|
// CamRegDto camRegDto1=new CamRegDto();
|
|
|
// camRegDto1.setSn("00000001");
|
|
@@ -147,21 +162,38 @@ public class RegCodeUtil {
|
|
|
|
|
|
List<CamRegDto> list=new ArrayList<>();
|
|
|
|
|
|
- CamRegDto camRegDto=new CamRegDto();
|
|
|
- camRegDto.setSn("810D669S0");
|
|
|
- camRegDto.setCameraType(9);
|
|
|
- camRegDto.setToSn("00000003");
|
|
|
- list.add(camRegDto);
|
|
|
+// CamRegDto camRegDto=new CamRegDto();
|
|
|
+//// camRegDto.setSn("dvt000007");
|
|
|
+//// camRegDto.setToSn("90d95cdb5");
|
|
|
+//// camRegDto.setToSn("dvt000007");
|
|
|
+// camRegDto.setSn("a0ia7r137");
|
|
|
+// camRegDto.setCameraType(9);
|
|
|
+
|
|
|
+// CamRegDto camRegDto=new CamRegDto();
|
|
|
+// camRegDto.setSn("a123456789");
|
|
|
+// camRegDto.setCameraType(10);
|
|
|
+// list.add(camRegDto);
|
|
|
+
|
|
|
+
|
|
|
+ CamRegDto camRegDto1=new CamRegDto();
|
|
|
+ camRegDto1.setSn("902ce60f5");
|
|
|
+// camRegDto1.setToSn("c123456789");
|
|
|
+ camRegDto1.setCameraType(9);
|
|
|
+
|
|
|
+ list.add(camRegDto1);
|
|
|
|
|
|
|
|
|
CamRegSDto CamReg=new CamRegSDto();
|
|
|
CamReg.setMachineCode(machineCode);
|
|
|
CamReg.setCamRegs(list);
|
|
|
-
|
|
|
- String camCode1 = batchGenRegeditCamCode( CamReg);
|
|
|
+ String camCode1 = uat.batchGenRegeditCamCode( CamReg);
|
|
|
|
|
|
// List<CamRegDto> list1 = BatchParseRegeditCamCode(machineCode+"a",camCode1);
|
|
|
- CamRegSDto list1 = BatchParseRegeditCamCode(machineCode,camCode1);
|
|
|
+ CamRegSDto list1 = uat.BatchParseRegeditCamCode(machineCode,camCode1);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
log.info("结束");
|
|
|
}
|
|
|
|