整理 java 部分 log
This commit is contained in:
parent
b075246612
commit
fb1aec6b5c
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,3 +6,4 @@
|
|||||||
*.log
|
*.log
|
||||||
/extjar/
|
/extjar/
|
||||||
/public
|
/public
|
||||||
|
/kit/
|
||||||
|
|||||||
159
kit/index.js
Normal file
159
kit/index.js
Normal file
@ -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();
|
||||||
@ -41,7 +41,7 @@ public class SydApiBuilder {
|
|||||||
|
|
||||||
// 同时初始化 jna 下 c 的链接
|
// 同时初始化 jna 下 c 的链接
|
||||||
int ret = ConnectHandlerManager.init(pcIpList, iPortList, iConnectTimeOut, iDealTimeOut);
|
int ret = ConnectHandlerManager.init(pcIpList, iPortList, iConnectTimeOut, iDealTimeOut);
|
||||||
System.out.println("ConnectHandler return " + ret);
|
|
||||||
if ( 0 != ret ) {
|
if ( 0 != ret ) {
|
||||||
throw new SydApiException(-1);
|
throw new SydApiException(-1);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,15 @@
|
|||||||
package com.sunyard.sge.database;
|
package com.sunyard.sge.database;
|
||||||
|
|
||||||
|
import com.sun.jna.Memory;
|
||||||
|
import com.sun.jna.Pointer;
|
||||||
import com.sun.jna.ptr.IntByReference;
|
import com.sun.jna.ptr.IntByReference;
|
||||||
import com.sunyard.SydApiException;
|
import com.sunyard.SydApiException;
|
||||||
import com.sunyard.proto.Util;
|
import com.sunyard.proto.Util;
|
||||||
import com.sunyard.sge.bytes.BytesUtil;
|
import com.sunyard.sge.bytes.BytesUtil;
|
||||||
|
import com.sunyard.sge.log.LogFactory;
|
||||||
import com.sunyard.sge.plus.ConnectHandlerManager;
|
import com.sunyard.sge.plus.ConnectHandlerManager;
|
||||||
import com.sunyard.sge.plus.SydLibrary;
|
import com.sunyard.sge.plus.SydLibrary;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -23,6 +27,8 @@ import static com.sunyard.sge.database.SydApiConfig.BATCH_SIZE;
|
|||||||
*/
|
*/
|
||||||
public class SydApiLongLinkWrap implements SydApi {
|
public class SydApiLongLinkWrap implements SydApi {
|
||||||
|
|
||||||
|
private Logger log = LogFactory.getLogger();
|
||||||
|
|
||||||
private SydApiBuilder builder;
|
private SydApiBuilder builder;
|
||||||
|
|
||||||
public SydApiLongLinkWrap(SydApiBuilder builder) {
|
public SydApiLongLinkWrap(SydApiBuilder builder) {
|
||||||
@ -204,7 +210,11 @@ public class SydApiLongLinkWrap implements SydApi {
|
|||||||
|
|
||||||
byte[] mac = taskMac.get();
|
byte[] mac = taskMac.get();
|
||||||
return new DataAndMac(enData, mac);
|
return new DataAndMac(enData, mac);
|
||||||
} catch (Exception e) {
|
}
|
||||||
|
catch (SydApiException e) {
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
if ( e.getCause() instanceof SydApiException) {
|
if ( e.getCause() instanceof SydApiException) {
|
||||||
throw (SydApiException) e.getCause();
|
throw (SydApiException) e.getCause();
|
||||||
}
|
}
|
||||||
@ -214,6 +224,7 @@ public class SydApiLongLinkWrap implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataAndMac SYD_SM4_EncryptAndMac_ShortData(int iEncKeyIndex, int iMacKeyIndex, byte[] pcData) {
|
public DataAndMac SYD_SM4_EncryptAndMac_ShortData(int iEncKeyIndex, int iMacKeyIndex, byte[] pcData) {
|
||||||
|
log.info("SYD_SM4_EncryptAndMac_ShortData {} {}", iEncKeyIndex, iMacKeyIndex);
|
||||||
try {
|
try {
|
||||||
if ( ! ConnectHandlerManager.isInited() ) {
|
if ( ! ConnectHandlerManager.isInited() ) {
|
||||||
throw new SydApiException(-1);
|
throw new SydApiException(-1);
|
||||||
@ -308,7 +319,11 @@ public class SydApiLongLinkWrap implements SydApi {
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
// return new DataAndMac(enData, mac.getData());
|
// return new DataAndMac(enData, mac.getData());
|
||||||
} catch (Exception e) {
|
}
|
||||||
|
catch (SydApiException e) {
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
if ( e.getCause() instanceof SydApiException) {
|
if ( e.getCause() instanceof SydApiException) {
|
||||||
throw (SydApiException) e.getCause();
|
throw (SydApiException) e.getCause();
|
||||||
}
|
}
|
||||||
@ -318,7 +333,7 @@ public class SydApiLongLinkWrap implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataAndMacCheck SYD_SM4_CheckMacAndDecrypt_ShortData(int iEncKeyIndex, int iMacKeyIndex, byte[] pcData, byte[] macs) {
|
public DataAndMacCheck SYD_SM4_CheckMacAndDecrypt_ShortData(int iEncKeyIndex, int iMacKeyIndex, byte[] pcData, byte[] macs) {
|
||||||
|
log.info("SYD_SM4_CheckMacAndDecrypt_ShortData {} {}", iEncKeyIndex, iMacKeyIndex);
|
||||||
try {
|
try {
|
||||||
if ( ! ConnectHandlerManager.isInited() ) {
|
if ( ! ConnectHandlerManager.isInited() ) {
|
||||||
throw new SydApiException(-1);
|
throw new SydApiException(-1);
|
||||||
@ -350,9 +365,13 @@ public class SydApiLongLinkWrap implements SydApi {
|
|||||||
} else {
|
} else {
|
||||||
throw new SydApiException(i);
|
throw new SydApiException(i);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
}
|
||||||
if ( e instanceof SydApiException) {
|
catch (SydApiException e) {
|
||||||
throw e;
|
throw e;
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
if ( e.getCause() instanceof SydApiException) {
|
||||||
|
throw (SydApiException) e.getCause();
|
||||||
}
|
}
|
||||||
throw new SydApiException("并行任务执行失败", 0xC101, e);
|
throw new SydApiException("并行任务执行失败", 0xC101, e);
|
||||||
}
|
}
|
||||||
@ -373,6 +392,8 @@ public class SydApiLongLinkWrap implements SydApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DataAndMac> SYD_SM4_EncryptAndMac_BatchData(int[] iEncKeyIndex, int[] iMacKeyIndex, List<byte[]> pcData) {
|
public List<DataAndMac> SYD_SM4_EncryptAndMac_BatchData(int[] iEncKeyIndex, int[] iMacKeyIndex, List<byte[]> pcData) {
|
||||||
|
log.info("SYD_SM4_EncryptAndMac_BatchData {} {}", iEncKeyIndex, iMacKeyIndex);
|
||||||
|
|
||||||
if ( ! ConnectHandlerManager.isInited() ) {
|
if ( ! ConnectHandlerManager.isInited() ) {
|
||||||
throw new SydApiException(-1);
|
throw new SydApiException(-1);
|
||||||
}
|
}
|
||||||
@ -380,22 +401,29 @@ public class SydApiLongLinkWrap implements SydApi {
|
|||||||
try {
|
try {
|
||||||
int size = pcData.size();
|
int size = pcData.size();
|
||||||
|
|
||||||
// 准备输入参数 - 直接使用 byte[][]
|
// 1. 准备输入参数
|
||||||
byte[][] pcDataArray = pcData.toArray(new byte[0][]);
|
Pointer[] pcDataArray = new Pointer[pcData.size()];
|
||||||
int[] iDataLen = pcData.stream()
|
int[] iDataLen = new int[size];
|
||||||
.mapToInt(bytes -> bytes.length)
|
|
||||||
.toArray();
|
|
||||||
|
|
||||||
// 准备输出缓冲区
|
// 2. 准备输出缓冲区
|
||||||
byte[][] pcEncData = new byte[size][];
|
Pointer[] pcEncArray = new Pointer[pcData.size()];
|
||||||
int[] iEncDataLen = new int[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(
|
int result = SydLibrary.INSTANCE.SYD_SM4_Encrypt_Mac_BatchData(
|
||||||
@ -405,22 +433,26 @@ public class SydApiLongLinkWrap implements SydApi {
|
|||||||
pcDataArray,
|
pcDataArray,
|
||||||
iDataLen,
|
iDataLen,
|
||||||
size,
|
size,
|
||||||
pcEncData,
|
pcEncArray,
|
||||||
iEncDataLen,
|
iEncDataLen,
|
||||||
pcMac);
|
pcMacArray);
|
||||||
|
|
||||||
if (0 == result) {
|
if (0 == result) {
|
||||||
// 转换结果为Java风格的对象列表
|
// 转换结果为Java风格的对象列表
|
||||||
List<DataAndMac> results = new ArrayList<>();
|
List<DataAndMac> results = new ArrayList<>();
|
||||||
for (int i = 0; i < size; i++) {
|
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;
|
return results;
|
||||||
} else {
|
} else {
|
||||||
throw new SydApiException(result);
|
throw new SydApiException(result);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
}
|
||||||
|
catch (SydApiException e) {
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
if ( e.getCause() instanceof SydApiException) {
|
if ( e.getCause() instanceof SydApiException) {
|
||||||
throw (SydApiException) e.getCause();
|
throw (SydApiException) e.getCause();
|
||||||
}
|
}
|
||||||
@ -444,50 +476,70 @@ public class SydApiLongLinkWrap implements SydApi {
|
|||||||
@Override
|
@Override
|
||||||
public List<DataAndMacCheck> SYD_SM4_CheckMacAndDecrypt_BatchData(int[] iEncKeyIndex, int[] iMacKeyIndex, List<DataAndMac> pcData) {
|
public List<DataAndMacCheck> SYD_SM4_CheckMacAndDecrypt_BatchData(int[] iEncKeyIndex, int[] iMacKeyIndex, List<DataAndMac> pcData) {
|
||||||
|
|
||||||
|
log.info("SYD_SM4_CheckMacAndDecrypt_BatchData {} {}", iEncKeyIndex, iMacKeyIndex);
|
||||||
|
|
||||||
int size = pcData.size();
|
int size = pcData.size();
|
||||||
|
log.debug("size {}" , size);
|
||||||
|
|
||||||
// 准备输入参数
|
// 1. 准备明文参数
|
||||||
byte[][] pcEncData = pcData.stream()
|
Pointer[] pcDataArray = new Pointer[pcData.size()];
|
||||||
.map(DataAndMac::getData)
|
int[] iDataLen = new int[size];
|
||||||
.toArray(byte[][]::new);
|
|
||||||
|
|
||||||
int[] iEncDataLen = pcData.stream()
|
// 2. 准备密文缓冲区
|
||||||
.mapToInt(d -> d.getData().length)
|
Pointer[] pcEncArray = new Pointer[pcData.size()];
|
||||||
.toArray();
|
int[] iEncDataLen = new int[size];
|
||||||
|
|
||||||
byte[][] pcMac = pcData.stream()
|
// 3. 准备 MAC 缓冲
|
||||||
.map(d -> d.getMac())
|
Pointer[] pcMacArray = new Pointer[pcData.size()];
|
||||||
.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;
|
|
||||||
}
|
|
||||||
|
|
||||||
int[] iCheckRet = new int[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(
|
int result = SydLibrary.INSTANCE.SYD_SM4_Decrypt_Mac_BatchData(
|
||||||
ConnectHandlerManager.getHandler(),
|
ConnectHandlerManager.getHandler(),
|
||||||
iEncKeyIndex,
|
iEncKeyIndex,
|
||||||
iMacKeyIndex,
|
iMacKeyIndex,
|
||||||
pcEncData,
|
pcEncArray,
|
||||||
iEncDataLen,
|
iEncDataLen,
|
||||||
pcMac,
|
pcMacArray,
|
||||||
size,
|
size,
|
||||||
pcOutData,
|
pcDataArray,
|
||||||
iOutDataLen,
|
iDataLen,
|
||||||
iCheckRet);
|
iCheckRet);
|
||||||
|
|
||||||
if (0 == result) {
|
if (0 == result) {
|
||||||
// 转换结果为Java风格的对象列表
|
// 转换结果为Java风格的对象列表
|
||||||
List<DataAndMacCheck> results = new ArrayList<>();
|
List<DataAndMacCheck> results = new ArrayList<>();
|
||||||
for (int i = 0; i < size; i++) {
|
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;
|
return results;
|
||||||
@ -495,7 +547,7 @@ public class SydApiLongLinkWrap implements SydApi {
|
|||||||
throw new SydApiException(result);
|
throw new SydApiException(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FutureTask<List<DataAndMacCheck>> task = builder.getLongLinkWorks().fTask(new Callable<List<DataAndMacCheck>>() {
|
// FutureTask<List<DataAndMacCheck>> task = builder.getLongLinkWorks().fTask(new Callable<List<DataAndMacCheck>>() {
|
||||||
// @Override
|
// @Override
|
||||||
// public List<DataAndMacCheck> call() throws Exception {
|
// public List<DataAndMacCheck> call() throws Exception {
|
||||||
// return builder.get().SYD_SM4_CheckMacAndDecrypt_BatchData(iEncKeyIndex, iMacKeyIndex, pcData);
|
// return builder.get().SYD_SM4_CheckMacAndDecrypt_BatchData(iEncKeyIndex, iMacKeyIndex, pcData);
|
||||||
|
|||||||
@ -53,23 +53,23 @@ public interface SydLibrary extends Library {
|
|||||||
Pointer phHandle,
|
Pointer phHandle,
|
||||||
int[] iEncKeyIndex,
|
int[] iEncKeyIndex,
|
||||||
int[] iCheckKeyIndex,
|
int[] iCheckKeyIndex,
|
||||||
byte[][] pcData,
|
Pointer[] pcData,
|
||||||
int[] iDataLen,
|
int[] iDataLen,
|
||||||
int iSize,
|
int iSize,
|
||||||
byte[][] pcEncData,
|
Pointer[] pcEncData,
|
||||||
int[] iEncDataLen,
|
int[] iEncDataLen,
|
||||||
byte[] pcMac);
|
Pointer[] pcMac);
|
||||||
|
|
||||||
// 1.17 批量数据解密并对密文校验值进行核对
|
// 1.17 批量数据解密并对密文校验值进行核对
|
||||||
int SYD_SM4_Decrypt_Mac_BatchData(
|
int SYD_SM4_Decrypt_Mac_BatchData(
|
||||||
Pointer phHandle,
|
Pointer phHandle,
|
||||||
int[] iEncKeyIndex,
|
int[] iEncKeyIndex,
|
||||||
int[] iCheckKeyIndex,
|
int[] iCheckKeyIndex,
|
||||||
byte[][] pcEncData,
|
Pointer[] pcEncData,
|
||||||
int[] iEncDataLen,
|
int[] iEncDataLen,
|
||||||
byte[][] pcMac,
|
Pointer[] pcMac,
|
||||||
int iSize,
|
int iSize,
|
||||||
byte[][] pcOutData,
|
Pointer[] pcOutData,
|
||||||
int[] iOutDataLen,
|
int[] iOutDataLen,
|
||||||
int[] iCheckRet);
|
int[] iCheckRet);
|
||||||
|
|
||||||
|
|||||||
@ -40,29 +40,4 @@ public class CalcRes {
|
|||||||
"8747BCB522816BFEE8753D6FD61AD320",
|
"8747BCB522816BFEE8753D6FD61AD320",
|
||||||
"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<DataAndMac> SM4ANDMAC_BATCH_RESULT = new ArrayList<DataAndMac>(){
|
|
||||||
{
|
|
||||||
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"));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -372,6 +372,7 @@ public class FuncTest {
|
|||||||
System.out.println("SYD_SM4_EncryptAndMac_ShortData 不支持数据长度为 0, 测试通过");
|
System.out.println("SYD_SM4_EncryptAndMac_ShortData 不支持数据长度为 0, 测试通过");
|
||||||
} else {
|
} else {
|
||||||
System.out.println("SYD_SM4_EncryptAndMac_ShortData 不支持数据长度为 0, 测试失败");
|
System.out.println("SYD_SM4_EncryptAndMac_ShortData 不支持数据长度为 0, 测试失败");
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -425,29 +426,6 @@ public class FuncTest {
|
|||||||
System.out.println("批量数据加密计算MAC,校验MAC解密测试成功");
|
System.out.println("批量数据加密计算MAC,校验MAC解密测试成功");
|
||||||
} else {
|
} else {
|
||||||
System.out.println("批量数据加密计算MAC,校验MAC解密测试失败");
|
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");
|
System.out.println("-------- 批量数据加密计算MAC,校验MAC解密功能测试结束 --------\n");
|
||||||
|
|||||||
@ -22,10 +22,10 @@ public class LongDataTest {
|
|||||||
// System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
// System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||||
|
|
||||||
SydApiBuilder builder = new SydApiBuilder(
|
SydApiBuilder builder = new SydApiBuilder(
|
||||||
new String[]{"172.1.41.129"},
|
new String[]{"baishe.fullstack.club"},
|
||||||
new int[]{8889},
|
new int[]{18889},
|
||||||
1000,
|
3000,
|
||||||
3000
|
9000
|
||||||
|
|
||||||
);
|
);
|
||||||
api = builder.build();
|
api = builder.build();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user