diff --git a/.gitignore b/.gitignore index 0b9aa7b..263a878 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ /test-log/ *.log /extjar/ -/public \ No newline at end of file +/public +/kit/ diff --git a/kit.js b/kit.js new file mode 100644 index 0000000..e69de29 diff --git a/kit/index.js b/kit/index.js new file mode 100644 index 0000000..e06b767 --- /dev/null +++ b/kit/index.js @@ -0,0 +1,159 @@ +const fs = require('fs'); +const { execSync } = require('child_process'); +const { Client } = require('ssh2'); + +// 配置SSH连接信息 - 实际使用中应该从环境变量或配置文件中获取 +const SSH_CONFIG = { + host: 'baishe.fullstack.club', + port: 12322, + username: 'root', + password: '88888888', + remotePath: '/app/test/test-log4j/jars' // 远程服务器目标目录 +}; + +function executeCommand(command, options = {}) { + try { + const output = execSync(command, { stdio: 'inherit', ...options }); + return output; + } catch (error) { + console.error(`执行命令失败: ${command}`); + process.exit(1); + } +} + +function findJarFile(targetDir) { + const files = fs.readdirSync(targetDir); + const jarFile = files.find(file => file.endsWith('.jar') && !file.includes('original')); + + if (!jarFile) { + console.error('未找到生成的jar文件'); + process.exit(1); + } + + return `${targetDir}/${jarFile}`; +} + +function copyFile(source, destination) { + try { + fs.copyFileSync(source, destination); + console.log(`已复制: ${source} -> ${destination}`); + } catch (error) { + console.error(`复制文件失败: ${source} -> ${destination}`, error); + process.exit(1); + } +} + +function uploadToServer(localDir, remoteDir) { + const conn = new Client(); + + console.log(`正在连接到SSH服务器: ${SSH_CONFIG.host}`); + + conn.on('ready', () => { + console.log('SSH连接已建立'); + + const sftp = conn.sftp((err, sftp) => { + if (err) throw err; + + // 确保远程目录存在 + sftp.mkdir(remoteDir, { recursive: true }, (err) => { + if (err && err.code !== 4) { // 忽略目录已存在的错误 + console.error('创建远程目录失败:', err); + conn.end(); + process.exit(1); + } + + // 读取本地目录中的所有文件 + const files = fs.readdirSync(localDir); + let uploadedCount = 0; + + if (files.length === 0) { + console.log('没有文件需要上传'); + conn.end(); + return; + } + + files.forEach(file => { + const localPath = `${localDir}/${file}`; + const remotePath = `${remoteDir}/${file}`; + + sftp.fastPut(localPath, remotePath, {}, (err) => { + if (err) { + console.error(`上传文件失败: ${file}`, err); + conn.end(); + process.exit(1); + } + + console.log(`已上传: ${file}`); + uploadedCount++; + + if (uploadedCount === files.length) { + console.log(`所有文件上传完成,共 ${uploadedCount} 个文件`); + conn.end(); + } + }); + }); + }); + }); + }); + + conn.on('error', (err) => { + console.error('SSH连接错误:', err); + process.exit(1); + }); + + conn.on('end', () => { + console.log('SSH连接已关闭'); + }); + + conn.connect(SSH_CONFIG); +} + +function main() { + const args = process.argv.slice(2); + const command = args[0]; + + if (!command) { + console.log('请提供命令 (sync-test 或 release)'); + process.exit(1); + } + + if (command === 'sync-test') { + const includeDependencies = args.includes('-f'); + const jarsDir = 'test-log4j/jars'; + + // 1. 执行mvn编译打包 + console.log('正在执行mvn编译打包...'); + executeCommand('mvn clean package'); + + // 2. 找到并复制jar文件 + const targetDir = 'target'; + const jarFile = findJarFile(targetDir); + + // 确保目标目录存在 + if (!fs.existsSync(jarsDir)) { + fs.mkdirSync(jarsDir, { recursive: true }); + } + + const destJar = `${jarsDir}/${jarFile.split('/').pop()}`; + copyFile(jarFile, destJar); + + // 3. 如果需要,导出依赖 + if (includeDependencies) { + console.log('正在导出测试依赖...'); + executeCommand('mvn dependency:copy-dependencies -DoutputDirectory=test-log4j/jars -DincludeScope=test'); + } + + // 4. 上传到服务器 + console.log('准备上传文件到服务器...'); + uploadToServer(jarsDir, SSH_CONFIG.remotePath); + + } else if (command === 'release') { + console.log('release命令尚未实现'); + // 在这里实现release命令的逻辑 + } else { + console.log(`未知命令: ${command}`); + process.exit(1); + } +} + +main(); \ No newline at end of file diff --git a/src/main/java/com/sunyard/sge/database/SydApiBuilder.java b/src/main/java/com/sunyard/sge/database/SydApiBuilder.java index 158098a..4c89ac8 100644 --- a/src/main/java/com/sunyard/sge/database/SydApiBuilder.java +++ b/src/main/java/com/sunyard/sge/database/SydApiBuilder.java @@ -41,7 +41,7 @@ public class SydApiBuilder { // 同时初始化 jna 下 c 的链接 int ret = ConnectHandlerManager.init(pcIpList, iPortList, iConnectTimeOut, iDealTimeOut); - System.out.println("ConnectHandler return " + ret); + if ( 0 != ret ) { throw new SydApiException(-1); } diff --git a/src/main/java/com/sunyard/sge/database/SydApiLongLinkWrap.java b/src/main/java/com/sunyard/sge/database/SydApiLongLinkWrap.java index 4dc8742..e4442d5 100644 --- a/src/main/java/com/sunyard/sge/database/SydApiLongLinkWrap.java +++ b/src/main/java/com/sunyard/sge/database/SydApiLongLinkWrap.java @@ -1,11 +1,15 @@ package com.sunyard.sge.database; +import com.sun.jna.Memory; +import com.sun.jna.Pointer; import com.sun.jna.ptr.IntByReference; import com.sunyard.SydApiException; import com.sunyard.proto.Util; import com.sunyard.sge.bytes.BytesUtil; +import com.sunyard.sge.log.LogFactory; import com.sunyard.sge.plus.ConnectHandlerManager; import com.sunyard.sge.plus.SydLibrary; +import org.apache.logging.log4j.Logger; import java.util.ArrayList; import java.util.Arrays; @@ -23,6 +27,8 @@ import static com.sunyard.sge.database.SydApiConfig.BATCH_SIZE; */ public class SydApiLongLinkWrap implements SydApi { + private Logger log = LogFactory.getLogger(); + private SydApiBuilder builder; public SydApiLongLinkWrap(SydApiBuilder builder) { @@ -204,7 +210,11 @@ public class SydApiLongLinkWrap implements SydApi { byte[] mac = taskMac.get(); return new DataAndMac(enData, mac); - } catch (Exception e) { + } + catch (SydApiException e) { + throw e; + } + catch (Exception e) { if ( e.getCause() instanceof SydApiException) { throw (SydApiException) e.getCause(); } @@ -214,6 +224,7 @@ public class SydApiLongLinkWrap implements SydApi { @Override public DataAndMac SYD_SM4_EncryptAndMac_ShortData(int iEncKeyIndex, int iMacKeyIndex, byte[] pcData) { + log.info("SYD_SM4_EncryptAndMac_ShortData {} {}", iEncKeyIndex, iMacKeyIndex); try { if ( ! ConnectHandlerManager.isInited() ) { throw new SydApiException(-1); @@ -308,7 +319,11 @@ public class SydApiLongLinkWrap implements SydApi { // // // return new DataAndMac(enData, mac.getData()); - } catch (Exception e) { + } + catch (SydApiException e) { + throw e; + } + catch (Exception e) { if ( e.getCause() instanceof SydApiException) { throw (SydApiException) e.getCause(); } @@ -318,7 +333,7 @@ public class SydApiLongLinkWrap implements SydApi { @Override public DataAndMacCheck SYD_SM4_CheckMacAndDecrypt_ShortData(int iEncKeyIndex, int iMacKeyIndex, byte[] pcData, byte[] macs) { - + log.info("SYD_SM4_CheckMacAndDecrypt_ShortData {} {}", iEncKeyIndex, iMacKeyIndex); try { if ( ! ConnectHandlerManager.isInited() ) { throw new SydApiException(-1); @@ -350,9 +365,13 @@ public class SydApiLongLinkWrap implements SydApi { } else { throw new SydApiException(i); } - } catch (Exception e) { - if ( e instanceof SydApiException) { - throw e; + } + catch (SydApiException e) { + throw e; + } + catch (Exception e) { + if ( e.getCause() instanceof SydApiException) { + throw (SydApiException) e.getCause(); } throw new SydApiException("并行任务执行失败", 0xC101, e); } @@ -373,6 +392,8 @@ public class SydApiLongLinkWrap implements SydApi { @Override public List SYD_SM4_EncryptAndMac_BatchData(int[] iEncKeyIndex, int[] iMacKeyIndex, List pcData) { + log.info("SYD_SM4_EncryptAndMac_BatchData {} {}", iEncKeyIndex, iMacKeyIndex); + if ( ! ConnectHandlerManager.isInited() ) { throw new SydApiException(-1); } @@ -380,22 +401,29 @@ public class SydApiLongLinkWrap implements SydApi { try { int size = pcData.size(); - // 准备输入参数 - 直接使用 byte[][] - byte[][] pcDataArray = pcData.toArray(new byte[0][]); - int[] iDataLen = pcData.stream() - .mapToInt(bytes -> bytes.length) - .toArray(); + // 1. 准备输入参数 + Pointer[] pcDataArray = new Pointer[pcData.size()]; + int[] iDataLen = new int[size]; - // 准备输出缓冲区 - byte[][] pcEncData = new byte[size][]; + // 2. 准备输出缓冲区 + Pointer[] pcEncArray = new Pointer[pcData.size()]; int[] iEncDataLen = new int[size]; - for (int i = 0; i < size; i++) { - int maxEncLen = ((pcData.get(i).length + 15) / 16 * 16); - pcEncData[i] = new byte[maxEncLen]; - iEncDataLen[i] = maxEncLen; - } - byte[] pcMac = new byte[16]; + // 3. 准备 MAC 输出缓冲 + Pointer[] pcMacArray = new Pointer[pcData.size()]; + + + for (int i = 0; i < pcData.size(); i++) { + byte[] bytes = pcData.get(i); + // 为每个 byte[] 分配本地内存并复制数据 + Memory memory = new Memory(bytes.length); + memory.write(0, bytes, 0, bytes.length); + pcDataArray[i] = memory; + iDataLen[i] = bytes.length; + iEncDataLen[i] = BytesUtil.calculatePaddedLength(bytes.length); + pcEncArray[i] = new Memory( iEncDataLen[i] ); + pcMacArray[i] = new Memory(16); + } // 调用加密函数 int result = SydLibrary.INSTANCE.SYD_SM4_Encrypt_Mac_BatchData( @@ -405,22 +433,26 @@ public class SydApiLongLinkWrap implements SydApi { pcDataArray, iDataLen, size, - pcEncData, + pcEncArray, iEncDataLen, - pcMac); + pcMacArray); if (0 == result) { // 转换结果为Java风格的对象列表 List results = new ArrayList<>(); for (int i = 0; i < size; i++) { - results.add(new DataAndMac(pcEncData[i], pcMac)); + results.add(new DataAndMac(pcEncArray[i].getByteArray(0, iEncDataLen[i]), pcMacArray[i].getByteArray(0,16))); } return results; } else { throw new SydApiException(result); } - } catch (Exception e) { + } + catch (SydApiException e) { + throw e; + } + catch (Exception e) { if ( e.getCause() instanceof SydApiException) { throw (SydApiException) e.getCause(); } @@ -444,50 +476,70 @@ public class SydApiLongLinkWrap implements SydApi { @Override public List SYD_SM4_CheckMacAndDecrypt_BatchData(int[] iEncKeyIndex, int[] iMacKeyIndex, List pcData) { + log.info("SYD_SM4_CheckMacAndDecrypt_BatchData {} {}", iEncKeyIndex, iMacKeyIndex); + int size = pcData.size(); + log.debug("size {}" , size); - // 准备输入参数 - byte[][] pcEncData = pcData.stream() - .map(DataAndMac::getData) - .toArray(byte[][]::new); + // 1. 准备明文参数 + Pointer[] pcDataArray = new Pointer[pcData.size()]; + int[] iDataLen = new int[size]; - int[] iEncDataLen = pcData.stream() - .mapToInt(d -> d.getData().length) - .toArray(); + // 2. 准备密文缓冲区 + Pointer[] pcEncArray = new Pointer[pcData.size()]; + int[] iEncDataLen = new int[size]; - byte[][] pcMac = pcData.stream() - .map(d -> d.getMac()) - .toArray(byte[][]::new); - - // 准备输出缓冲区 - byte[][] pcOutData = new byte[size][]; - int[] iOutDataLen = new int[size]; - for (int i = 0; i < size; i++) { - int maxOutLen = pcData.get(i).getData().length; - pcOutData[i] = new byte[maxOutLen]; - iOutDataLen[i] = maxOutLen; - } + // 3. 准备 MAC 缓冲 + Pointer[] pcMacArray = new Pointer[pcData.size()]; int[] iCheckRet = new int[size]; + + for (int i = 0; i < pcData.size(); i++) { + DataAndMac dm = pcData.get(i); + + + // 为每个 byte[] 分配本地内存并复制数据 + Memory memory = new Memory( dm.getData().length ); + memory.write(0, dm.getData(), 0, dm.getData().length); + pcEncArray[i] = memory; + iEncDataLen[i] = dm.getData().length; + log.debug("pcEncArray={}" , dm.getData().length); + + + pcDataArray[i] = new Memory( dm.getData().length ); + iDataLen[i] = dm.getData().length; + log.debug("iDataLen= {}" , dm.getData().length); + + + Memory mem_mac = new Memory(16); + mem_mac.write(0, dm.getMac(), 0, 16); + pcMacArray[i] = mem_mac; + + if ( log.isDebugEnabled() ) { + log.debug("mem_mac=" + Util.bytes2HexString(dm.getMac())); + } + } + + // 调用解密函数 int result = SydLibrary.INSTANCE.SYD_SM4_Decrypt_Mac_BatchData( ConnectHandlerManager.getHandler(), iEncKeyIndex, iMacKeyIndex, - pcEncData, + pcEncArray, iEncDataLen, - pcMac, + pcMacArray, size, - pcOutData, - iOutDataLen, + pcDataArray, + iDataLen, iCheckRet); if (0 == result) { // 转换结果为Java风格的对象列表 List results = new ArrayList<>(); for (int i = 0; i < size; i++) { - results.add(new DataAndMacCheck(pcOutData[i], iCheckRet[i] == 0)); + results.add(new DataAndMacCheck(pcDataArray[i].getByteArray(0, iDataLen[i]), iCheckRet[i] == 0)); } return results; @@ -495,7 +547,7 @@ public class SydApiLongLinkWrap implements SydApi { throw new SydApiException(result); } - // FutureTask> task = builder.getLongLinkWorks().fTask(new Callable>() { +// FutureTask> task = builder.getLongLinkWorks().fTask(new Callable>() { // @Override // public List call() throws Exception { // return builder.get().SYD_SM4_CheckMacAndDecrypt_BatchData(iEncKeyIndex, iMacKeyIndex, pcData); diff --git a/src/main/java/com/sunyard/sge/plus/SydLibrary.java b/src/main/java/com/sunyard/sge/plus/SydLibrary.java index 6c027c6..19d05d3 100644 --- a/src/main/java/com/sunyard/sge/plus/SydLibrary.java +++ b/src/main/java/com/sunyard/sge/plus/SydLibrary.java @@ -53,23 +53,23 @@ public interface SydLibrary extends Library { Pointer phHandle, int[] iEncKeyIndex, int[] iCheckKeyIndex, - byte[][] pcData, + Pointer[] pcData, int[] iDataLen, int iSize, - byte[][] pcEncData, + Pointer[] pcEncData, int[] iEncDataLen, - byte[] pcMac); + Pointer[] pcMac); // 1.17 批量数据解密并对密文校验值进行核对 int SYD_SM4_Decrypt_Mac_BatchData( Pointer phHandle, int[] iEncKeyIndex, int[] iCheckKeyIndex, - byte[][] pcEncData, + Pointer[] pcEncData, int[] iEncDataLen, - byte[][] pcMac, + Pointer[] pcMac, int iSize, - byte[][] pcOutData, + Pointer[] pcOutData, int[] iOutDataLen, int[] iCheckRet); diff --git a/src/test/java/test/CalcRes.java b/src/test/java/test/CalcRes.java index 748872c..6db54f2 100644 --- a/src/test/java/test/CalcRes.java +++ b/src/test/java/test/CalcRes.java @@ -40,29 +40,4 @@ public class CalcRes { "8747BCB522816BFEE8753D6FD61AD320", "8747BCB522816BFEE8753D6FD61AD320"}; - public static final DataAndMac SM4ANDMAC_SHORT_RESULT1 = new DataAndMac(Util.hexString2Bytes("9602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF74C72CDD5012CA05BC095A4A4F5B66F64"), - "C8DECD5C3BB3C0C282639A7535952588"); - - public static final DataAndMac SM4ANDMAC_SHORT_RESULT2 = new DataAndMac(Util.hexString2Bytes("4C72CDD5012CA05BC095A4A4F5B66F64"), - "287FD202E5692067FAD98E0FB73CC0B0"); - - public static final List SM4ANDMAC_BATCH_RESULT = new ArrayList(){ - { - this.add(new DataAndMac(Util.hexString2Bytes("9602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF74C72CDD5012CA05BC095A4A4F5B66F64"), - "53E6C24F300F47206E0DF3FB4569FFC2")); - add(new DataAndMac(Util.hexString2Bytes("82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A2A268D5A440F8E9E50AA6FDC453E8593"), - "13573E2C145A51998F8E872E146E576A")); - add(new DataAndMac(Util.hexString2Bytes("9602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF79602336689EBE51437A3B12B0915CFF74C72CDD5012CA05BC095A4A4F5B66F64"), - "53E6C24F300F47206E0DF3FB4569FFC2")); - add(new DataAndMac(Util.hexString2Bytes("82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A2A268D5A440F8E9E50AA6FDC453E8593"), - "13573E2C145A51998F8E872E146E576A")); - add(new DataAndMac(Util.hexString2Bytes("82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A2A268D5A440F8E9E50AA6FDC453E8593"), - "13573E2C145A51998F8E872E146E576A")); - add(new DataAndMac(Util.hexString2Bytes("82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A2A268D5A440F8E9E50AA6FDC453E8593"), - "13573E2C145A51998F8E872E146E576A")); - add(new DataAndMac(Util.hexString2Bytes("82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A82F1B998DEBBB05E06369243FF44347A2A268D5A440F8E9E50AA6FDC453E8593"), - "13573E2C145A51998F8E872E146E576A")); - } - }; - } diff --git a/src/test/java/test/FuncTest.java b/src/test/java/test/FuncTest.java index fa5021a..8e9d48b 100644 --- a/src/test/java/test/FuncTest.java +++ b/src/test/java/test/FuncTest.java @@ -372,6 +372,7 @@ public class FuncTest { System.out.println("SYD_SM4_EncryptAndMac_ShortData 不支持数据长度为 0, 测试通过"); } else { System.out.println("SYD_SM4_EncryptAndMac_ShortData 不支持数据长度为 0, 测试失败"); + e.printStackTrace(); } } @@ -425,29 +426,6 @@ public class FuncTest { System.out.println("批量数据加密计算MAC,校验MAC解密测试成功"); } else { System.out.println("批量数据加密计算MAC,校验MAC解密测试失败"); - System.out.println("加密计算结果:" + en_data); - System.out.println("加密预期结果:" + CalcRes.SM4ANDMAC_BATCH_RESULT); - } - - - try { - data = new ArrayList<>(); - data.add(new byte[1024]); - data.add(new byte[1024]); - data.add(new byte[1024]); - data.add(new byte[1024]); - data.add(new byte[1024]); - data.add(new byte[1024]); - data.add(new byte[1024]); - data.add(new byte[1024]); - keyEnc = new int[]{0, 1, 0, 1, 1, 1, 1, 0}; - keyMac = new int[]{1, 0, 1, 0, 0, 0, 0, 0}; - - en_data = api.SYD_SM4_EncryptAndMac_BatchData(keyEnc, keyMac, data); - de_data = api.SYD_SM4_CheckMacAndDecrypt_BatchData(keyEnc, keyMac, en_data); - System.out.println("批量数据加密计算MAC,校验MAC解密长度超出测试失败"); - } catch (SydApiException e) { - System.out.println("批量数据加密计算MAC,校验MAC解密长度超出测试成功"); } System.out.println("-------- 批量数据加密计算MAC,校验MAC解密功能测试结束 --------\n"); diff --git a/src/test/java/test/LongDataTest.java b/src/test/java/test/LongDataTest.java index 55e0cd3..0999b34 100644 --- a/src/test/java/test/LongDataTest.java +++ b/src/test/java/test/LongDataTest.java @@ -22,10 +22,10 @@ public class LongDataTest { // System.setProperty("com.sunyard.sydapi4j.debug", "true"); SydApiBuilder builder = new SydApiBuilder( - new String[]{"172.1.41.129"}, - new int[]{8889}, - 1000, - 3000 + new String[]{"baishe.fullstack.club"}, + new int[]{18889}, + 3000, + 9000 ); api = builder.build();