From 36b48af67d75362b093af10a1004cec30981fa11 Mon Sep 17 00:00:00 2001 From: "junj2.liang" Date: Fri, 2 Sep 2022 16:32:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sunyard/sge/database/SydSM4Mac.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/sunyard/sge/database/SydSM4Mac.java b/src/main/java/com/sunyard/sge/database/SydSM4Mac.java index 376ce49..6073cbe 100644 --- a/src/main/java/com/sunyard/sge/database/SydSM4Mac.java +++ b/src/main/java/com/sunyard/sge/database/SydSM4Mac.java @@ -28,6 +28,10 @@ public class SydSM4Mac { this.api = api; } + public void setPcMac(String pcMac) { + this.pcMac = pcMac; + } + public void update(byte[] pcData) { if (null == pcData || 0 == pcData.length) { return; @@ -45,15 +49,9 @@ public class SydSM4Mac { queue.push(pcData); } if (length % 16 != 0) { - int remainder = length % 16; - int intercept = length - remainder; - byte[] result = new byte[intercept]; - byte[] result2 = new byte[remainder]; - System.arraycopy(pcData,0,result,0,intercept); - System.arraycopy(pcData,intercept,result,0,remainder); - queue.push(result2); - pcdataResult=result; - + queue.push(pcData); + byte[] pop = queue.pop(16, 0); + pcdataResult=pop; } if (null == this.pcMac || "".equals(this.pcMac)) { LongDataReturn stringStringLongDataReturn = api.SYD_SM4Mac_LongData(iKeyIndex, pcdataResult, iPkgNum, pcProcData);