save
This commit is contained in:
parent
1db66d0658
commit
78fe7d9de3
9
kit.json
9
kit.json
@ -25,6 +25,10 @@
|
|||||||
{
|
{
|
||||||
"func": "mkdir",
|
"func": "mkdir",
|
||||||
"path": "%out_path%/jar/dependences"
|
"path": "%out_path%/jar/dependences"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"func": "mkdir",
|
||||||
|
"path": "%out_path%/doc"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": [{
|
"dependencies": [{
|
||||||
@ -37,11 +41,6 @@
|
|||||||
"gen" : [{
|
"gen" : [{
|
||||||
"cmd" : "dproto"
|
"cmd" : "dproto"
|
||||||
}],
|
}],
|
||||||
"doc" : [{
|
|
||||||
"func" : "cp",
|
|
||||||
"from" : "./doc",
|
|
||||||
"to" : "%out_path%/doc"
|
|
||||||
}],
|
|
||||||
"build": [
|
"build": [
|
||||||
{
|
{
|
||||||
"cmd": "mvn package -DskipTests",
|
"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
|
public interface SydApi
|
||||||
{
|
{
|
||||||
|
|
||||||
|
void warmUpMode(boolean use);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 建立到指定地址和端口号的签名服务器的 TCP/IP 连接,返回 API 操作对象 SydApi。
|
* 建立到指定地址和端口号的签名服务器的 TCP/IP 连接,返回 API 操作对象 SydApi。
|
||||||
* 如果采用短连接,交易结束,要调用 SydApi 的方法SYD_Disconnect_Ex 进行释放连接。
|
* 如果采用短连接,交易结束,要调用 SydApi 的方法SYD_Disconnect_Ex 进行释放连接。
|
||||||
|
|||||||
@ -20,6 +20,11 @@ public class SydApi4Database implements SydApi
|
|||||||
|
|
||||||
private SydApi4j api4j = null;
|
private SydApi4j api4j = null;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void warmUpMode(boolean use) {
|
||||||
|
this.api4j.warmUpMode( use );
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SydApi SYD_Connect_Ex(String[] pcIpList, int[] iPortList, int iConnectTimeOut, int iDealTimeOut) {
|
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