整理代码
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
package sample;
|
||||
|
||||
import com.sunyard.SydApi;
|
||||
import racal.sunyard.main.SydApi4j;
|
||||
import racal.sunyard.main.SydApiBuilder;
|
||||
|
||||
public class ConnectThread extends Thread {
|
||||
|
||||
public SydApi getApi() {
|
||||
SydApiBuilder builder = new SydApiBuilder().setIp("172.16.18.59");
|
||||
SydApi4j papi = (SydApi4j) builder.build();
|
||||
// SydApi4j papi = (SydApi4j) new SydApi4j().connect("172.16.18.59" , 8889, null,1000);
|
||||
return papi;
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
|
||||
// logger.info("测试开始");
|
||||
int n = Runtime.getRuntime().availableProcessors();
|
||||
int max = 1001;
|
||||
Thread[] tList = new Thread[max];
|
||||
for (int i = 0; i < max; i++) {
|
||||
Thread thread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
System.out.println(Thread.currentThread().getName() + "已运行");
|
||||
ConnectThread stable = new ConnectThread();
|
||||
SydApi api = stable.getApi();
|
||||
try {
|
||||
// SydApi api = stable.getApi();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
tList[i] = thread;
|
||||
}
|
||||
for (Thread t : tList) {
|
||||
t.start();
|
||||
}
|
||||
for (Thread t : tList) {
|
||||
try {
|
||||
t.join();
|
||||
} catch (InterruptedException e3) {
|
||||
e3.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,22 +1,60 @@
|
||||
package test;
|
||||
|
||||
import com.sunyard.proto.Util;
|
||||
import com.sunyard.sge.database.*;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
import com.sunyard.sge.database.Consts;
|
||||
import com.sunyard.sge.database.SydApi;
|
||||
import com.sunyard.sge.database.SydApiBuilder;
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class BatchDataTest {
|
||||
|
||||
private SydApi api;
|
||||
private static class RandomTestData {
|
||||
private int size;
|
||||
private int[] keyIdx;
|
||||
private List<byte[]> data;
|
||||
|
||||
public int[] getKeyIdx() {
|
||||
return keyIdx;
|
||||
}
|
||||
|
||||
public List<byte[]> getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public int getSize() {
|
||||
return size;
|
||||
}
|
||||
|
||||
public RandomTestData(int lucky) {
|
||||
this.size = lucky;
|
||||
this.keyIdx = new int[lucky];
|
||||
this.data = new ArrayList<>();
|
||||
for ( int i = 0 ; i < lucky; i++ ) {
|
||||
byte[] data = new byte[ new Random().nextInt(1024) ];
|
||||
new Random().nextBytes( data );
|
||||
this.data.add( data );
|
||||
}
|
||||
}
|
||||
public RandomTestData() {
|
||||
int lucky = new Random().nextInt(100);
|
||||
this.size = lucky;
|
||||
this.keyIdx = new int[lucky];
|
||||
this.data = new ArrayList<>();
|
||||
for ( int i = 0 ; i < lucky; i++ ) {
|
||||
byte[] data = new byte[ new Random().nextInt(1024) ];
|
||||
new Random().nextBytes( data );
|
||||
this.data.add( data );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Before
|
||||
public void init() {
|
||||
@@ -33,41 +71,122 @@ public class BatchDataTest {
|
||||
}
|
||||
|
||||
@After
|
||||
public void end(){
|
||||
if ( null != api ) {
|
||||
public void end() {
|
||||
if (null != api) {
|
||||
api.SYD_Disconnect_Ex();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void batchSM4Case1(){
|
||||
public void batchSM4Case1() {
|
||||
// 密钥索引
|
||||
int[] keyIdx = new int[]{ 0, 1, 2 , 0, 1, 2, 0, 1, 2, 0, 1, 2}; // 12 组
|
||||
int[] keyIdx = new int[]{0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2}; // 12 组
|
||||
// 测试数据
|
||||
List<byte[]> data = new ArrayList<>();
|
||||
data.add( new byte[8] );
|
||||
data.add( new byte[16] );
|
||||
data.add( new byte[1024] );
|
||||
data.add( new byte[8] );
|
||||
data.add( new byte[16] );
|
||||
data.add( new byte[1024] );
|
||||
data.add( new byte[8] );
|
||||
data.add( new byte[16] );
|
||||
data.add( new byte[1024] );
|
||||
data.add( new byte[8] );
|
||||
data.add( new byte[16] );
|
||||
data.add( new byte[1024] );
|
||||
data.add(new byte[8]);
|
||||
data.add(new byte[16]);
|
||||
data.add(new byte[1024]);
|
||||
data.add(new byte[8]);
|
||||
data.add(new byte[16]);
|
||||
data.add(new byte[1024]);
|
||||
data.add(new byte[8]);
|
||||
data.add(new byte[16]);
|
||||
data.add(new byte[1024]);
|
||||
data.add(new byte[8]);
|
||||
data.add(new byte[16]);
|
||||
data.add(new byte[1024]);
|
||||
|
||||
List<byte[]> encData = api.SYD_SM4_BatchData( keyIdx , data, Consts.ECB_ENC );
|
||||
List<byte[]> orgData = api.SYD_SM4_BatchData( keyIdx , encData, Consts.ECB_DEC );
|
||||
List<byte[]> encData = api.SYD_SM4_BatchData(keyIdx, data, Consts.ECB_ENC);
|
||||
List<byte[]> orgData = api.SYD_SM4_BatchData(keyIdx, encData, Consts.ECB_DEC);
|
||||
|
||||
for ( int i = 0 ; i < data.size() ; i++ ) {
|
||||
System.out.println( "HEX=" + Util.bytes2HexString( encData.get( i ) ) );
|
||||
Assert.assertArrayEquals( orgData.get( i ), data.get( i ) );
|
||||
for (int i = 0; i < data.size(); i++) {
|
||||
System.out.println("HEX=" + Util.bytes2HexString(encData.get(i)));
|
||||
Assert.assertArrayEquals(orgData.get(i), data.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void batchSM4Case2() {
|
||||
// 测试数据
|
||||
RandomTestData data = new RandomTestData();
|
||||
|
||||
List<byte[]> encData = api.SYD_SM4_BatchData(data.getKeyIdx(), data.getData(), Consts.ECB_ENC);
|
||||
List<byte[]> orgData = api.SYD_SM4_BatchData(data.getKeyIdx(), encData, Consts.ECB_DEC);
|
||||
|
||||
for (int i = 0; i < data.getSize(); i++) {
|
||||
System.out.println("HEX=" + Util.bytes2HexString(encData.get(i)));
|
||||
Assert.assertArrayEquals(orgData.get(i), data.getData().get(i));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void batchSM4CaseZero() {
|
||||
// 测试数据
|
||||
RandomTestData data = new RandomTestData(0);
|
||||
|
||||
List<byte[]> encData = api.SYD_SM4_BatchData(data.getKeyIdx(), data.getData(), Consts.ECB_ENC);
|
||||
List<byte[]> orgData = api.SYD_SM4_BatchData(data.getKeyIdx(), encData, Consts.ECB_DEC);
|
||||
|
||||
for (int i = 0; i < data.getSize(); i++) {
|
||||
System.out.println("HEX=" + Util.bytes2HexString(encData.get(i)));
|
||||
Assert.assertArrayEquals(orgData.get(i), data.getData().get(i));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void batchMACDataCase1() {
|
||||
// 密钥索引
|
||||
int[] keyIdx = new int[]{0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2}; // 12 组
|
||||
// 测试数据
|
||||
List<byte[]> data = new ArrayList<>();
|
||||
data.add(new byte[8]);
|
||||
data.add(new byte[16]);
|
||||
data.add(new byte[1024]);
|
||||
data.add(new byte[8]);
|
||||
data.add(new byte[16]);
|
||||
data.add(new byte[1024]);
|
||||
data.add(new byte[8]);
|
||||
data.add(new byte[16]);
|
||||
data.add(new byte[1024]);
|
||||
data.add(new byte[8]);
|
||||
data.add(new byte[16]);
|
||||
data.add(new byte[1024]);
|
||||
|
||||
String[] macs = api.SYD_SM4Mac_BatchData(keyIdx, data);
|
||||
boolean[] checks = api.SYD_SM4Mac_BatchData(keyIdx, data, macs);
|
||||
|
||||
for (int i = 0; i < data.size(); i++) {
|
||||
System.out.println("MAC[" + i + "]=" + macs[i]);
|
||||
Assert.assertTrue(checks[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void batchMACData() {
|
||||
// 测试数据
|
||||
RandomTestData data = new RandomTestData();
|
||||
|
||||
String[] macs = api.SYD_SM4Mac_BatchData(data.getKeyIdx(), data.getData());
|
||||
boolean[] checks = api.SYD_SM4Mac_BatchData(data.getKeyIdx(), data.getData(), macs);
|
||||
|
||||
for (int i = 0; i < data.getSize(); i++) {
|
||||
System.out.println("MAC[" + i + "]=" + macs[i]);
|
||||
Assert.assertTrue(checks[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void batchMACDataZero() {
|
||||
// 测试数据
|
||||
RandomTestData data = new RandomTestData(0);
|
||||
|
||||
String[] macs = api.SYD_SM4Mac_BatchData(data.getKeyIdx(), data.getData());
|
||||
boolean[] checks = api.SYD_SM4Mac_BatchData(data.getKeyIdx(), data.getData(), macs);
|
||||
|
||||
for (int i = 0; i < data.getSize(); i++) {
|
||||
System.out.println("MAC[" + i + "]=" + macs[i]);
|
||||
Assert.assertTrue(checks[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user