修改测试代码

This commit is contained in:
cheney 2025-07-11 15:25:21 +08:00
parent fc1e3ca1a0
commit 0814f9f65f
4 changed files with 394 additions and 462 deletions

View File

@ -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 ) );
} // }
//
} // }
} //}

View File

@ -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]);

View File

@ -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 );
}
}

View File

@ -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