From 38a6da35d9466c82cd8fecf302affe9505a0d08d Mon Sep 17 00:00:00 2001 From: "junj2.liang" Date: Thu, 1 Sep 2022 14:28:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0init/update/digest/finish?= =?UTF-8?q?=E9=95=BF=E6=95=B0=E6=8D=AE=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/sunyard/sge/database/SydApiSM4.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sunyard/sge/database/SydApiSM4.java b/src/main/java/com/sunyard/sge/database/SydApiSM4.java index 893f60d..20a453c 100644 --- a/src/main/java/com/sunyard/sge/database/SydApiSM4.java +++ b/src/main/java/com/sunyard/sge/database/SydApiSM4.java @@ -98,7 +98,7 @@ public class SydApiSM4 { } else { if (0 == sourceWrap.array().length) { - if (plength<16){ + if (plength<16||plength/16<2){ api.SYD_SM4_LongData(iKeyIndex, new byte[0], iPkgNum, iFlag); ByteBuffer bufferResult = ByteBuffer.allocate(sourceWrap.array().length + plength); bufferResult.put(sourceWrap); @@ -125,7 +125,7 @@ public class SydApiSM4 { return api.SYD_SM4_LongData(iKeyIndex, pcdataResult, iPkgNum, iFlag); } else { - if (16 > pcData.length + sourceWrap.array().length) { + if (16 > pcData.length + sourceWrap.array().length||(pcData.length + sourceWrap.array().length)/16<2) { ByteBuffer bufferResult = ByteBuffer.allocate(sourceWrap.array().length + plength); bufferResult.put(sourceWrap.array()); bufferResult.put(pcData);