save
This commit is contained in:
parent
1db66d0658
commit
78fe7d9de3
9
kit.json
9
kit.json
@ -25,6 +25,10 @@
|
||||
{
|
||||
"func": "mkdir",
|
||||
"path": "%out_path%/jar/dependences"
|
||||
},
|
||||
{
|
||||
"func": "mkdir",
|
||||
"path": "%out_path%/doc"
|
||||
}
|
||||
],
|
||||
"dependencies": [{
|
||||
@ -37,11 +41,6 @@
|
||||
"gen" : [{
|
||||
"cmd" : "dproto"
|
||||
}],
|
||||
"doc" : [{
|
||||
"func" : "cp",
|
||||
"from" : "./doc",
|
||||
"to" : "%out_path%/doc"
|
||||
}],
|
||||
"build": [
|
||||
{
|
||||
"cmd": "mvn package -DskipTests",
|
||||
|
||||
BIN
pack/doc/黄金交易所数据库加密 java 接口新增.docx
Normal file
BIN
pack/doc/黄金交易所数据库加密 java 接口新增.docx
Normal file
Binary file not shown.
@ -9,6 +9,9 @@ import java.util.List;
|
||||
public interface SydApi
|
||||
{
|
||||
|
||||
void warmUpMode(boolean use);
|
||||
|
||||
|
||||
/**
|
||||
* 建立到指定地址和端口号的签名服务器的 TCP/IP 连接,返回 API 操作对象 SydApi。
|
||||
* 如果采用短连接,交易结束,要调用 SydApi 的方法SYD_Disconnect_Ex 进行释放连接。
|
||||
|
||||
@ -20,6 +20,11 @@ public class SydApi4Database implements SydApi
|
||||
|
||||
private SydApi4j api4j = null;
|
||||
|
||||
@Override
|
||||
public void warmUpMode(boolean use) {
|
||||
this.api4j.warmUpMode( use );
|
||||
}
|
||||
|
||||
@Override
|
||||
public SydApi SYD_Connect_Ex(String[] pcIpList, int[] iPortList, int iConnectTimeOut, int iDealTimeOut) {
|
||||
|
||||
|
||||
119
src/test/java/test/Pref.java
Normal file
119
src/test/java/test/Pref.java
Normal file
@ -0,0 +1,119 @@
|
||||
package test;
|
||||
|
||||
import com.sunyard.proto.Util;
|
||||
import com.sunyard.sge.database.Consts;
|
||||
import com.sunyard.sge.database.SydApi;
|
||||
import com.sunyard.sge.database.SydApi4Database;
|
||||
import org.junit.Assert;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Pref
|
||||
{
|
||||
public static void main(String[] args) throws InterruptedException {
|
||||
|
||||
// System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||
|
||||
final SydApi api = new SydApi4Database();
|
||||
try {
|
||||
|
||||
api.SYD_Connect_Ex(
|
||||
new String[]{ "192.168.0.200" },
|
||||
new int[]{ 8889 },
|
||||
10,
|
||||
20
|
||||
);
|
||||
|
||||
// api.warmUpMode( true );
|
||||
|
||||
// 预热
|
||||
final int max = 1;
|
||||
for (int i = 0; i < max; i ++) {
|
||||
shortData( api );
|
||||
// batchData( api );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Thread t = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// 短数据
|
||||
long st = System.currentTimeMillis();
|
||||
shortData( api );
|
||||
long et = System.currentTimeMillis();
|
||||
System.out.println("short t1=" + ( et -st ));
|
||||
|
||||
|
||||
// 批量
|
||||
st = System.currentTimeMillis();
|
||||
batchData( api );
|
||||
et = System.currentTimeMillis();
|
||||
System.out.println("batch t1=" + ( et -st ));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
t.start();
|
||||
t.join();
|
||||
|
||||
|
||||
// api.warmUpMode( false );
|
||||
|
||||
// 短数据
|
||||
long st = System.currentTimeMillis();
|
||||
shortData( api );
|
||||
long et = System.currentTimeMillis();
|
||||
System.out.println("short t1=" + ( et -st ));
|
||||
|
||||
|
||||
// 批量
|
||||
st = System.currentTimeMillis();
|
||||
batchData( api );
|
||||
et = System.currentTimeMillis();
|
||||
System.out.println("batch t1=" + ( et -st ));
|
||||
} finally {
|
||||
if ( null != api ) {
|
||||
api.SYD_Disconnect_Ex();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void shortData(SydApi api){
|
||||
// 密钥索引
|
||||
int keyIdx = 0;
|
||||
// 测试数据
|
||||
byte[] data = new byte[16];
|
||||
byte[] encData = new byte[16];
|
||||
try {
|
||||
encData = api.SYD_SM4_ShortData( keyIdx , data, Consts.ECB_ENC );
|
||||
}catch ( Exception e){}
|
||||
try {
|
||||
byte[] orgData = api.SYD_SM4_ShortData( keyIdx , encData, Consts.ECB_DEC );
|
||||
}catch ( Exception e){}
|
||||
// System.out.println( "HEX=" + Util.bytes2HexString( encData ) );
|
||||
// Assert.assertArrayEquals( orgData, data );
|
||||
}
|
||||
|
||||
public static void batchData(SydApi api){
|
||||
// 密钥索引
|
||||
int[] keyIdx = new int[]{ 0, 1, 2 };
|
||||
// 测试数据
|
||||
List<byte[]> data = new ArrayList<>();
|
||||
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 );
|
||||
|
||||
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 ) );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user