修改测试代码
This commit is contained in:
parent
fc1e3ca1a0
commit
0814f9f65f
@ -1,384 +1,384 @@
|
|||||||
package sample;
|
//package sample;
|
||||||
|
//
|
||||||
import com.sunyard.proto.Util;
|
//import com.sunyard.proto.Util;
|
||||||
import com.sunyard.sge.database.*;
|
//import com.sunyard.sge.database.*;
|
||||||
import com.sunyard.sge.database.Consts;
|
//import com.sunyard.sge.database.Consts;
|
||||||
import com.sunyard.sge.log.LogFactory;
|
//import com.sunyard.sge.log.LogFactory;
|
||||||
import org.apache.logging.log4j.Logger;
|
//import org.apache.logging.log4j.Logger;
|
||||||
import org.junit.Assert;
|
//import org.junit.Assert;
|
||||||
|
//
|
||||||
import java.nio.ByteBuffer;
|
//import java.nio.ByteBuffer;
|
||||||
import java.util.ArrayList;
|
//import java.util.ArrayList;
|
||||||
import java.util.List;
|
//import java.util.List;
|
||||||
|
//
|
||||||
public class Sample
|
//public class Sample
|
||||||
{
|
//{
|
||||||
public static void main(String[] args) {
|
// public static void main(String[] args) {
|
||||||
|
//
|
||||||
// 路径要以 / 或 \\ 结尾表示目录
|
// // 路径要以 / 或 \\ 结尾表示目录
|
||||||
SydApi.SYD_SetLogConfig("./logs/",3);
|
// SydApi.SYD_SetLogConfig("./logs/",3);
|
||||||
// 通常单例就够了
|
// // 通常单例就够了
|
||||||
SydApiBuilder builder = new SydApiBuilder(
|
// SydApiBuilder builder = new SydApiBuilder(
|
||||||
new String[]{ "192.168.0.200"},
|
// new String[]{ "192.168.0.200"},
|
||||||
new int[]{ 8889},
|
// new int[]{ 8889},
|
||||||
10,
|
// 10,
|
||||||
15
|
// 15
|
||||||
);
|
// );
|
||||||
|
//
|
||||||
// 每个工作线程中调用
|
// // 每个工作线程中调用
|
||||||
SydApi api = builder.build();
|
// SydApi api = builder.build();
|
||||||
try {
|
// try {
|
||||||
// 不建议使用了
|
// // 不建议使用了
|
||||||
// api = api.SYD_Connect_Ex(
|
//// api = api.SYD_Connect_Ex(
|
||||||
// new String[]{ "192.168.0.200" },
|
//// new String[]{ "192.168.0.200" },
|
||||||
// new int[]{ 8889 },
|
//// new int[]{ 8889 },
|
||||||
// 10,
|
//// 10,
|
||||||
// 15
|
//// 15
|
||||||
// );
|
//// );
|
||||||
|
//
|
||||||
|
//
|
||||||
// 短数据加密解密
|
// // 短数据加密解密
|
||||||
shortEndeData( api );
|
// shortEndeData( api );
|
||||||
|
//
|
||||||
// 批量加密解密
|
// // 批量加密解密
|
||||||
batchEndeData( api );
|
// batchEndeData( api );
|
||||||
|
//
|
||||||
// 长数据加密解密
|
// // 长数据加密解密
|
||||||
longDataEnde( api );
|
// longDataEnde( api );
|
||||||
|
//
|
||||||
// 短数据 MAC
|
// // 短数据 MAC
|
||||||
shortMAC( api );
|
// shortMAC( api );
|
||||||
|
//
|
||||||
// 批量 MAC
|
// // 批量 MAC
|
||||||
batchMACData( api );
|
// batchMACData( api );
|
||||||
|
//
|
||||||
// 长数据 MAC
|
// // 长数据 MAC
|
||||||
longMAC( api );
|
// longMAC( api );
|
||||||
|
//
|
||||||
// 短数据 SM3
|
// // 短数据 SM3
|
||||||
shortSM3( api );
|
// shortSM3( api );
|
||||||
|
//
|
||||||
// 长数据 SM3
|
// // 长数据 SM3
|
||||||
longSM3( api );
|
// longSM3( api );
|
||||||
|
//
|
||||||
} finally {
|
// } finally {
|
||||||
if ( null != api ) {
|
// if ( null != api ) {
|
||||||
LogFactory.getLogger().debug("END");
|
// LogFactory.getLogger().debug("END");
|
||||||
api.SYD_Disconnect_Ex();
|
// api.SYD_Disconnect_Ex();
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public static void longDataEnde(SydApi api){
|
// public static void longDataEnde(SydApi api){
|
||||||
|
//
|
||||||
// 密钥索引
|
// // 密钥索引
|
||||||
int keyIdx = 0;
|
// int keyIdx = 0;
|
||||||
// 测试数据
|
// // 测试数据
|
||||||
byte[] data = new byte[16 * 3 + 8];
|
// byte[] data = new byte[16 * 3 + 8];
|
||||||
// 每包大小
|
// // 每包大小
|
||||||
int pack = 16;
|
// int pack = 16;
|
||||||
|
//
|
||||||
// 测试数据 > 每包大小需要分包
|
// // 测试数据 > 每包大小需要分包
|
||||||
|
//
|
||||||
// 密文数据
|
// // 密文数据
|
||||||
ByteBuffer enDataBuff = ByteBuffer.allocate( data.length + 16 );
|
// ByteBuffer enDataBuff = ByteBuffer.allocate( data.length + 16 );
|
||||||
|
//
|
||||||
// 分包加密
|
// // 分包加密
|
||||||
{
|
// {
|
||||||
int n = data.length / pack;
|
// int n = data.length / pack;
|
||||||
int remainder = data.length % pack;
|
// int remainder = data.length % pack;
|
||||||
if ( remainder > 0 ) {
|
// if ( remainder > 0 ) {
|
||||||
n += 1;
|
// n += 1;
|
||||||
} else {
|
// } else {
|
||||||
remainder = pack;
|
// remainder = pack;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
for ( int i = 0 ; i < n ; i ++ ) {
|
// for ( int i = 0 ; i < n ; i ++ ) {
|
||||||
byte[] buff = new byte[ pack ];
|
// byte[] buff = new byte[ pack ];
|
||||||
|
//
|
||||||
// 首包
|
// // 首包
|
||||||
if ( 0 == i ) {
|
// if ( 0 == i ) {
|
||||||
System.arraycopy( data, i * pack, buff, 0, pack );
|
// System.arraycopy( data, i * pack, buff, 0, pack );
|
||||||
byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumHead, Consts.ECB_ENC);
|
// byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumHead, Consts.ECB_ENC);
|
||||||
enDataBuff.put( recv );
|
// enDataBuff.put( recv );
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 尾包
|
// // 尾包
|
||||||
if ( i == (n-1) ){
|
// if ( i == (n-1) ){
|
||||||
buff = new byte[ remainder ];
|
// buff = new byte[ remainder ];
|
||||||
System.arraycopy( data, i * pack, buff, 0, remainder );
|
// System.arraycopy( data, i * pack, buff, 0, remainder );
|
||||||
byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumTail, Consts.ECB_ENC);
|
// byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumTail, Consts.ECB_ENC);
|
||||||
enDataBuff.put( recv );
|
// enDataBuff.put( recv );
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 中间包
|
// // 中间包
|
||||||
System.arraycopy( data, i * pack, buff, 0, pack );
|
// System.arraycopy( data, i * pack, buff, 0, pack );
|
||||||
byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumMiddle, Consts.ECB_ENC);
|
// byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumMiddle, Consts.ECB_ENC);
|
||||||
enDataBuff.put( recv );
|
// enDataBuff.put( recv );
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
byte[] enData = new byte[ enDataBuff.position() ];
|
// byte[] enData = new byte[ enDataBuff.position() ];
|
||||||
System.arraycopy( enDataBuff.array(), 0, enData, 0, enData.length );
|
// System.arraycopy( enDataBuff.array(), 0, enData, 0, enData.length );
|
||||||
|
//
|
||||||
|
//
|
||||||
// 分包解密
|
// // 分包解密
|
||||||
// 密文数据
|
// // 密文数据
|
||||||
ByteBuffer deDataBuff = ByteBuffer.allocate( data.length + 16 );
|
// ByteBuffer deDataBuff = ByteBuffer.allocate( data.length + 16 );
|
||||||
{
|
// {
|
||||||
int n = enData.length / pack;
|
// int n = enData.length / pack;
|
||||||
int remainder = enData.length % pack;
|
// int remainder = enData.length % pack;
|
||||||
if ( remainder > 0 ) {
|
// if ( remainder > 0 ) {
|
||||||
n += 1;
|
// n += 1;
|
||||||
} else {
|
// } else {
|
||||||
remainder = pack;
|
// remainder = pack;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
for ( int i = 0 ; i < n ; i ++ ) {
|
// for ( int i = 0 ; i < n ; i ++ ) {
|
||||||
byte[] buff = new byte[ pack ];
|
// byte[] buff = new byte[ pack ];
|
||||||
|
//
|
||||||
// 首包
|
// // 首包
|
||||||
if ( 0 == i ) {
|
// if ( 0 == i ) {
|
||||||
System.arraycopy( enData, i * pack, buff, 0, pack );
|
// System.arraycopy( enData, i * pack, buff, 0, pack );
|
||||||
byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumHead, Consts.ECB_DEC);
|
// byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumHead, Consts.ECB_DEC);
|
||||||
deDataBuff.put( recv );
|
// deDataBuff.put( recv );
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 尾包
|
// // 尾包
|
||||||
if ( i == (n-1) ){
|
// if ( i == (n-1) ){
|
||||||
buff = new byte[ remainder ];
|
// buff = new byte[ remainder ];
|
||||||
System.arraycopy( enData, i * pack, buff, 0, remainder );
|
// System.arraycopy( enData, i * pack, buff, 0, remainder );
|
||||||
byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumTail, Consts.ECB_DEC);
|
// byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumTail, Consts.ECB_DEC);
|
||||||
deDataBuff.put( recv );
|
// deDataBuff.put( recv );
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 中间包
|
// // 中间包
|
||||||
System.arraycopy( enData, i * pack, buff, 0, pack );
|
// System.arraycopy( enData, i * pack, buff, 0, pack );
|
||||||
byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumMiddle, Consts.ECB_DEC);
|
// byte[] recv = api.SYD_SM4_LongData( keyIdx , buff, Consts.PkgNumMiddle, Consts.ECB_DEC);
|
||||||
deDataBuff.put( recv );
|
// deDataBuff.put( recv );
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
byte[] deData = new byte[ deDataBuff.position() ];
|
// byte[] deData = new byte[ deDataBuff.position() ];
|
||||||
System.arraycopy( deDataBuff.array(), 0, deData, 0, deData.length );
|
// System.arraycopy( deDataBuff.array(), 0, deData, 0, deData.length );
|
||||||
// 断言解密后和原文相同
|
// // 断言解密后和原文相同
|
||||||
Assert.assertArrayEquals( deData, data );
|
// Assert.assertArrayEquals( deData, data );
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
public static void longMAC(SydApi api){
|
// public static void longMAC(SydApi api){
|
||||||
|
//
|
||||||
// 密钥索引
|
// // 密钥索引
|
||||||
int keyIdx = 0;
|
// int keyIdx = 0;
|
||||||
// 测试数据
|
// // 测试数据
|
||||||
byte[] data = new byte[16 * 3 + 8];
|
// byte[] data = new byte[16 * 3 + 8];
|
||||||
// 每包大小
|
// // 每包大小
|
||||||
int pack = 16;
|
// int pack = 16;
|
||||||
|
//
|
||||||
// 测试数据 > 每包大小需要分包
|
// // 测试数据 > 每包大小需要分包
|
||||||
|
//
|
||||||
LongDataReturn<String, String> recv = null;
|
// LongDataReturn<String, String> recv = null;
|
||||||
// 分包 MAC
|
// // 分包 MAC
|
||||||
{
|
// {
|
||||||
int n = data.length / pack;
|
// int n = data.length / pack;
|
||||||
int remainder = data.length % pack;
|
// int remainder = data.length % pack;
|
||||||
if ( remainder > 0 ) {
|
// if ( remainder > 0 ) {
|
||||||
n += 1;
|
// n += 1;
|
||||||
} else {
|
// } else {
|
||||||
remainder = pack;
|
// remainder = pack;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
for ( int i = 0 ; i < n ; i ++ ) {
|
// for ( int i = 0 ; i < n ; i ++ ) {
|
||||||
byte[] buff = new byte[ pack ];
|
// byte[] buff = new byte[ pack ];
|
||||||
|
//
|
||||||
// 首包
|
// // 首包
|
||||||
if ( 0 == i ) {
|
// if ( 0 == i ) {
|
||||||
System.arraycopy( data, i * pack, buff, 0, pack );
|
// System.arraycopy( data, i * pack, buff, 0, pack );
|
||||||
recv = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumHead, null);
|
// recv = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumHead, null);
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 尾包
|
// // 尾包
|
||||||
if ( i == (n-1) ){
|
// if ( i == (n-1) ){
|
||||||
// 尾包大小可能不同
|
// // 尾包大小可能不同
|
||||||
buff = new byte[ remainder ];
|
// buff = new byte[ remainder ];
|
||||||
System.arraycopy( data, i * pack, buff, 0, remainder );
|
// System.arraycopy( data, i * pack, buff, 0, remainder );
|
||||||
recv = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumTail, recv.getProcData() );
|
// recv = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumTail, recv.getProcData() );
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 中间包
|
// // 中间包
|
||||||
System.arraycopy( data, i * pack, buff, 0, pack );
|
// System.arraycopy( data, i * pack, buff, 0, pack );
|
||||||
recv = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumMiddle, recv.getProcData() );
|
// recv = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumMiddle, recv.getProcData() );
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
String mac = recv.getData();
|
// String mac = recv.getData();
|
||||||
|
//
|
||||||
// 分包校验 MAC
|
// // 分包校验 MAC
|
||||||
LongDataReturn<String, Boolean> check = null;
|
// LongDataReturn<String, Boolean> check = null;
|
||||||
ByteBuffer deDataBuff = ByteBuffer.allocate( data.length + 16 );
|
// ByteBuffer deDataBuff = ByteBuffer.allocate( data.length + 16 );
|
||||||
{
|
// {
|
||||||
int n = data.length / pack;
|
// int n = data.length / pack;
|
||||||
int remainder = data.length % pack;
|
// int remainder = data.length % pack;
|
||||||
if ( remainder > 0 ) {
|
// if ( remainder > 0 ) {
|
||||||
n += 1;
|
// n += 1;
|
||||||
} else {
|
// } else {
|
||||||
remainder = pack;
|
// remainder = pack;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
for ( int i = 0 ; i < n ; i ++ ) {
|
// for ( int i = 0 ; i < n ; i ++ ) {
|
||||||
byte[] buff = new byte[ pack ];
|
// byte[] buff = new byte[ pack ];
|
||||||
|
//
|
||||||
// 首包
|
// // 首包
|
||||||
if ( 0 == i ) {
|
// if ( 0 == i ) {
|
||||||
System.arraycopy( data, i * pack, buff, 0, pack );
|
// System.arraycopy( data, i * pack, buff, 0, pack );
|
||||||
check = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumHead, null, mac);
|
// check = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumHead, null, mac);
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 尾包
|
// // 尾包
|
||||||
if ( i == (n-1) ){
|
// if ( i == (n-1) ){
|
||||||
// 尾包大小可能不同
|
// // 尾包大小可能不同
|
||||||
buff = new byte[ remainder ];
|
// buff = new byte[ remainder ];
|
||||||
System.arraycopy( data, i * pack, buff, 0, remainder );
|
// System.arraycopy( data, i * pack, buff, 0, remainder );
|
||||||
check = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumTail, check.getProcData() , mac);
|
// check = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumTail, check.getProcData() , mac);
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 中间包
|
// // 中间包
|
||||||
System.arraycopy( data, i * pack, buff, 0, pack );
|
// System.arraycopy( data, i * pack, buff, 0, pack );
|
||||||
check = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumMiddle, check.getProcData() , mac);
|
// check = api.SYD_SM4Mac_LongData( keyIdx , buff, Consts.PkgNumMiddle, check.getProcData() , mac);
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 断言 MAC 校验通过
|
// // 断言 MAC 校验通过
|
||||||
Assert.assertTrue( check.getData() );
|
// Assert.assertTrue( check.getData() );
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public static void shortSM3(SydApi api){
|
// public static void shortSM3(SydApi api){
|
||||||
// 测试数据
|
// // 测试数据
|
||||||
byte[] data = new byte[16];
|
// byte[] data = new byte[16];
|
||||||
byte[] macData = api.SYD_SM3_Hash_ShortData( data );
|
// byte[] macData = api.SYD_SM3_Hash_ShortData( data );
|
||||||
Assert.assertEquals( macData , Util.hexString2Bytes("106E34A2B8C7BB13156CFDD0D91379DCC47543DCF9787C68AE5EB582620AE6E8"));
|
// Assert.assertEquals( macData , Util.hexString2Bytes("106E34A2B8C7BB13156CFDD0D91379DCC47543DCF9787C68AE5EB582620AE6E8"));
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
public static void longSM3(SydApi api){
|
// public static void longSM3(SydApi api){
|
||||||
|
//
|
||||||
// 密钥索引
|
// // 密钥索引
|
||||||
int keyIdx = 0;
|
// int keyIdx = 0;
|
||||||
// 测试数据
|
// // 测试数据
|
||||||
byte[] data = new byte[16 * 3 + 8];
|
// byte[] data = new byte[16 * 3 + 8];
|
||||||
// 每包大小
|
// // 每包大小
|
||||||
int pack = 16;
|
// int pack = 16;
|
||||||
|
//
|
||||||
// 测试数据 > 每包大小需要分包
|
// // 测试数据 > 每包大小需要分包
|
||||||
|
//
|
||||||
LongDataReturn<String, String> recv = null;
|
// LongDataReturn<String, String> recv = null;
|
||||||
// 分包 MAC
|
// // 分包 MAC
|
||||||
{
|
// {
|
||||||
int n = data.length / pack;
|
// int n = data.length / pack;
|
||||||
int remainder = data.length % pack;
|
// int remainder = data.length % pack;
|
||||||
if ( remainder > 0 ) {
|
// if ( remainder > 0 ) {
|
||||||
n += 1;
|
// n += 1;
|
||||||
} else {
|
// } else {
|
||||||
remainder = pack;
|
// remainder = pack;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
for ( int i = 0 ; i < n ; i ++ ) {
|
// for ( int i = 0 ; i < n ; i ++ ) {
|
||||||
byte[] buff = new byte[ pack ];
|
// byte[] buff = new byte[ pack ];
|
||||||
|
//
|
||||||
// 首包
|
// // 首包
|
||||||
if ( 0 == i ) {
|
// if ( 0 == i ) {
|
||||||
System.arraycopy( data, i * pack, buff, 0, pack );
|
// System.arraycopy( data, i * pack, buff, 0, pack );
|
||||||
recv = api.SYD_SM3_Hash_LongData( buff, Consts.PkgNumHead, null);
|
// recv = api.SYD_SM3_Hash_LongData( buff, Consts.PkgNumHead, null);
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 尾包
|
// // 尾包
|
||||||
if ( i == (n-1) ){
|
// if ( i == (n-1) ){
|
||||||
// 尾包大小可能不同
|
// // 尾包大小可能不同
|
||||||
buff = new byte[ remainder ];
|
// buff = new byte[ remainder ];
|
||||||
System.arraycopy( data, i * pack, buff, 0, remainder );
|
// System.arraycopy( data, i * pack, buff, 0, remainder );
|
||||||
recv = api.SYD_SM3_Hash_LongData( buff, Consts.PkgNumTail, recv.getProcData() );
|
// recv = api.SYD_SM3_Hash_LongData( buff, Consts.PkgNumTail, recv.getProcData() );
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 中间包
|
// // 中间包
|
||||||
System.arraycopy( data, i * pack, buff, 0, pack );
|
// System.arraycopy( data, i * pack, buff, 0, pack );
|
||||||
recv = api.SYD_SM3_Hash_LongData( buff, Consts.PkgNumMiddle, recv.getProcData() );
|
// recv = api.SYD_SM3_Hash_LongData( buff, Consts.PkgNumMiddle, recv.getProcData() );
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
String mac = recv.getData();
|
// String mac = recv.getData();
|
||||||
|
//
|
||||||
// 断言
|
// // 断言
|
||||||
Assert.assertEquals( mac, "87B81AF2B2B22CBDF268E211D012D604892D3C948FF298D61D6C942EEE847F86");
|
// Assert.assertEquals( mac, "87B81AF2B2B22CBDF268E211D012D604892D3C948FF298D61D6C942EEE847F86");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public static void shortMAC(SydApi api){
|
// public static void shortMAC(SydApi api){
|
||||||
// 密钥索引
|
// // 密钥索引
|
||||||
int keyIdx = 0;
|
// int keyIdx = 0;
|
||||||
// 测试数据
|
// // 测试数据
|
||||||
byte[] data = new byte[16];
|
// byte[] data = new byte[16];
|
||||||
byte[] macData = api.SYD_SM4Mac_ShortData( keyIdx , data );
|
// byte[] macData = api.SYD_SM4Mac_ShortData( keyIdx , data );
|
||||||
boolean ret = api.SYD_SM4Mac_ShortData( keyIdx , data, macData );
|
// boolean ret = api.SYD_SM4Mac_ShortData( keyIdx , data, macData );
|
||||||
Assert.assertTrue( ret );
|
// Assert.assertTrue( ret );
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public static void batchMACData(SydApi api){
|
// public static void batchMACData(SydApi api){
|
||||||
// 密钥索引
|
// // 密钥索引
|
||||||
int[] keyIdx = new int[]{ 0, 1, 2 };
|
// int[] keyIdx = new int[]{ 0, 1, 2 };
|
||||||
// 测试数据
|
// // 测试数据
|
||||||
List<byte[]> data = new ArrayList<>();
|
// List<byte[]> data = new ArrayList<>();
|
||||||
data.add( new byte[8] );
|
// data.add( new byte[8] );
|
||||||
data.add( new byte[16] );
|
// data.add( new byte[16] );
|
||||||
data.add( new byte[1024] );
|
// data.add( new byte[1024] );
|
||||||
|
//
|
||||||
List<byte[]> macs = api.SYD_SM4Mac_BatchData( keyIdx , data);
|
// List<byte[]> macs = api.SYD_SM4Mac_BatchData( keyIdx , data);
|
||||||
boolean[] checks = api.SYD_SM4Mac_BatchData( keyIdx , data, macs );
|
// boolean[] checks = api.SYD_SM4Mac_BatchData( keyIdx , data, macs );
|
||||||
|
//
|
||||||
for ( int i = 0 ; i < data.size() ; i++ ) {
|
// for ( int i = 0 ; i < data.size() ; i++ ) {
|
||||||
Assert.assertTrue( checks[i] );
|
// Assert.assertTrue( checks[i] );
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
public static void shortEndeData(SydApi api){
|
// public static void shortEndeData(SydApi api){
|
||||||
// 密钥索引
|
// // 密钥索引
|
||||||
int keyIdx = 0;
|
// int keyIdx = 0;
|
||||||
// 测试数据
|
// // 测试数据
|
||||||
byte[] data = new byte[16];
|
// byte[] data = new byte[16];
|
||||||
byte[] encData = api.SYD_SM4_ShortData( keyIdx , data, Consts.ECB_ENC );
|
// byte[] encData = api.SYD_SM4_ShortData( keyIdx , data, Consts.ECB_ENC );
|
||||||
byte[] orgData = api.SYD_SM4_ShortData( keyIdx , encData, Consts.ECB_DEC );
|
// byte[] orgData = api.SYD_SM4_ShortData( keyIdx , encData, Consts.ECB_DEC );
|
||||||
Assert.assertArrayEquals( orgData, data );
|
// Assert.assertArrayEquals( orgData, data );
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public static void batchEndeData(SydApi api){
|
// public static void batchEndeData(SydApi api){
|
||||||
// 密钥索引
|
// // 密钥索引
|
||||||
int[] keyIdx = new int[]{ 0, 1, 2 };
|
// int[] keyIdx = new int[]{ 0, 1, 2 };
|
||||||
// 测试数据
|
// // 测试数据
|
||||||
List<byte[]> data = new ArrayList<>();
|
// List<byte[]> data = new ArrayList<>();
|
||||||
data.add( new byte[8] );
|
// data.add( new byte[8] );
|
||||||
data.add( new byte[16] );
|
// data.add( new byte[16] );
|
||||||
data.add( new byte[1024] );
|
// data.add( new byte[1024] );
|
||||||
|
//
|
||||||
List<byte[]> encData = api.SYD_SM4_BatchData( keyIdx , data, Consts.ECB_ENC );
|
// 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[]> orgData = api.SYD_SM4_BatchData( keyIdx , encData, Consts.ECB_DEC );
|
||||||
|
//
|
||||||
for ( int i = 0 ; i < data.size() ; i++ ) {
|
// for ( int i = 0 ; i < data.size() ; i++ ) {
|
||||||
Assert.assertArrayEquals( orgData.get( i ), data.get( i ) );
|
// Assert.assertArrayEquals( orgData.get( i ), data.get( i ) );
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|||||||
@ -99,7 +99,7 @@ public class FuncTest {
|
|||||||
|
|
||||||
public void sm3LongFunc() {
|
public void sm3LongFunc() {
|
||||||
System.out.println("-------- SM3长数据功能测试开始 --------");
|
System.out.println("-------- SM3长数据功能测试开始 --------");
|
||||||
SydApi api = connect();
|
SydApi api = connect();
|
||||||
|
|
||||||
ISM3 sm3 = api.initSM3();
|
ISM3 sm3 = api.initSM3();
|
||||||
byte[] data = new byte[4064];
|
byte[] data = new byte[4064];
|
||||||
@ -173,7 +173,7 @@ SydApi api = connect();
|
|||||||
|
|
||||||
public void sm4LongFunc() {
|
public void sm4LongFunc() {
|
||||||
System.out.println("-------- SM4长数据加解密功能测试开始 --------");
|
System.out.println("-------- SM4长数据加解密功能测试开始 --------");
|
||||||
SydApi api = connect();
|
SydApi api = connect();
|
||||||
boolean ret = LongDataTest.case1(api);
|
boolean ret = LongDataTest.case1(api);
|
||||||
if ( ! ret ){
|
if ( ! ret ){
|
||||||
System.out.println("-------- SM4长数据加解密功能测试失败 --------\n");
|
System.out.println("-------- SM4长数据加解密功能测试失败 --------\n");
|
||||||
@ -280,7 +280,7 @@ SydApi api = connect();
|
|||||||
|
|
||||||
public void sm4BatchFunc() {
|
public void sm4BatchFunc() {
|
||||||
System.out.println("-------- SM4批量数据加解密功能测试开始 --------");
|
System.out.println("-------- SM4批量数据加解密功能测试开始 --------");
|
||||||
SydApi api = connect();
|
SydApi api = connect();
|
||||||
|
|
||||||
List<byte[]> data = new ArrayList<>();
|
List<byte[]> data = new ArrayList<>();
|
||||||
data.add(new byte[1024]);
|
data.add(new byte[1024]);
|
||||||
@ -312,7 +312,7 @@ SydApi api = connect();
|
|||||||
|
|
||||||
public void sm4macBatchFunc() {
|
public void sm4macBatchFunc() {
|
||||||
System.out.println("-------- SM4MAC批量数据功能测试开始 --------");
|
System.out.println("-------- SM4MAC批量数据功能测试开始 --------");
|
||||||
SydApi api = connect();
|
SydApi api = connect();
|
||||||
|
|
||||||
List<byte[]> data = new ArrayList<>();
|
List<byte[]> data = new ArrayList<>();
|
||||||
data.add(new byte[1024]);
|
data.add(new byte[1024]);
|
||||||
|
|||||||
@ -1,39 +0,0 @@
|
|||||||
package test;
|
|
||||||
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
|
|
||||||
public class LogTest {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void case1() throws InterruptedException {
|
|
||||||
int max = 10000;
|
|
||||||
int nThread = 10;
|
|
||||||
Thread[] threads = new Thread[nThread];
|
|
||||||
for (int i = 0; i < nThread; i++) {
|
|
||||||
threads[i] = new Thread(new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
for (int i = 0; i < max; i++) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
threads[i].start();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Thread t : threads) {
|
|
||||||
try {
|
|
||||||
t.join();
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Thread.sleep(10000 );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -34,7 +34,7 @@ public class LongDataTest {
|
|||||||
@Test
|
@Test
|
||||||
public void sm3_case0() {
|
public void sm3_case0() {
|
||||||
ISM3 sm3 = api.initSM3();
|
ISM3 sm3 = api.initSM3();
|
||||||
String mac = sm3.digest();
|
String mac = Util.bytes2HexString(sm3.digest());
|
||||||
Assert.assertEquals("1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B", mac);
|
Assert.assertEquals("1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B", mac);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ public class LongDataTest {
|
|||||||
public void sm3_case1() {
|
public void sm3_case1() {
|
||||||
ISM3 sm3 = api.initSM3();
|
ISM3 sm3 = api.initSM3();
|
||||||
sm3.update(null);
|
sm3.update(null);
|
||||||
String mac = sm3.digest();
|
String mac = Util.bytes2HexString(sm3.digest());
|
||||||
Assert.assertEquals("1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B", mac);
|
Assert.assertEquals("1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B", mac);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ public class LongDataTest {
|
|||||||
public void sm3_case2() {
|
public void sm3_case2() {
|
||||||
ISM3 sm3 = api.initSM3();
|
ISM3 sm3 = api.initSM3();
|
||||||
sm3.update(Util.hexString2Bytes("1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678"));
|
sm3.update(Util.hexString2Bytes("1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678"));
|
||||||
String mac = sm3.digest();
|
String mac = Util.bytes2HexString(sm3.digest());
|
||||||
Assert.assertEquals("9431C865C84B02C8A7C503F53A6D6C3C66704F8F713D124610314E31B19937F7", mac);
|
Assert.assertEquals("9431C865C84B02C8A7C503F53A6D6C3C66704F8F713D124610314E31B19937F7", mac);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ public class LongDataTest {
|
|||||||
ISM3 sm3 = api.initSM3();
|
ISM3 sm3 = api.initSM3();
|
||||||
sm3.update(Util.hexString2Bytes("1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678"));
|
sm3.update(Util.hexString2Bytes("1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678"));
|
||||||
sm3.update(Util.hexString2Bytes("1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678"));
|
sm3.update(Util.hexString2Bytes("1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678"));
|
||||||
String mac = sm3.digest();
|
String mac = Util.bytes2HexString(sm3.digest());
|
||||||
Assert.assertEquals("2A217F11AD8D113EDCFED070A217DB9328FD00BFF31BA0843E04375C9F0C5B6A", mac);
|
Assert.assertEquals("2A217F11AD8D113EDCFED070A217DB9328FD00BFF31BA0843E04375C9F0C5B6A", mac);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,46 +73,17 @@ public class LongDataTest {
|
|||||||
sm3.update(data);
|
sm3.update(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
String mac = sm3.digest();
|
String mac = Util.bytes2HexString(sm3.digest());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void sm3_case5() {
|
public void sm3_case5() {
|
||||||
ISM3 sm3 = api.initSM3();
|
ISM3 sm3 = api.initSM3();
|
||||||
String mac = sm3.digest();
|
String mac = Util.bytes2HexString(sm3.digest());
|
||||||
Assert.assertEquals("1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B", mac);
|
Assert.assertEquals("1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B", mac);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void sm4mac_case1() {
|
|
||||||
ISM4Mac sydApiMac = api.initSM4Mac(0);
|
|
||||||
sydApiMac.update(null);
|
|
||||||
String mac = sydApiMac.digest();
|
|
||||||
// Assert.assertEquals("FF49F76AD3A71651FE1A8A9F0D2A689E", mac);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void sm4mac_case2() {
|
|
||||||
ISM4Mac sydApiMac = api.initSM4Mac(0);
|
|
||||||
String mac = sydApiMac.digest();
|
|
||||||
// Assert.assertEquals("FF49F76AD3A71651FE1A8A9F0D2A689E", mac);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void sm4mac_case3() {
|
|
||||||
ISM4Mac sydApiMac = api.initSM4Mac(0);
|
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < 10; i++) {
|
|
||||||
// int lucky = new Random().nextInt(4065);
|
|
||||||
byte[] data = new byte[66];
|
|
||||||
sydApiMac.update(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
String mac = (String) sydApiMac.digest();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user