降低版本到 1.6
This commit is contained in:
parent
7b0124c877
commit
05d692f066
@ -1,721 +0,0 @@
|
||||
package com.sunyard.sydapi.test;
|
||||
|
||||
import com.sunyard.RetWrap;
|
||||
import com.sunyard.entity.Struct;
|
||||
import com.sunyard.proto.Util;
|
||||
import com.sunyard.proto.value.Str;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import racal.sunyard.main.SydApi4j;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class TestZY {
|
||||
SydApi4j api;
|
||||
String keyTye = "000";
|
||||
String key1 = "1234567812345678";
|
||||
String key2 = "X12345678123456781234567812345678";
|
||||
String key6 = "U00000000000000000000000000000000";
|
||||
String key3 = "Y123456781234567812345678123456781234567812345678";
|
||||
String key4 = "X87654321876543218765432187654321";
|
||||
String key5 = "1234567812345678";
|
||||
String key7 = "12345678123456781234567812345678";
|
||||
private static final Logger log= LoggerFactory.getLogger(TestZY.class);
|
||||
|
||||
|
||||
@Before
|
||||
public void before() {
|
||||
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||
// api = (SydApi4j) new SydApi4j().connect("172.16.17.162", 8889, null, 1000);
|
||||
// api = (SydApi4j) new SydApi4j().connect("47.118.63.165", 46889, null, 15000);
|
||||
api = (SydApi4j) new SydApi4j().connect("192.168.0.99", 8889, null, 3000);
|
||||
// 电脑ip设置192.168.17.17
|
||||
// api = (SydApi4j) new SydApi4j().connect("192.168.17.18", 8889, null, 1000);
|
||||
// api = (SydApi4j) new SydApi4j().connect("47.111.95.168", 43889, null,100000);
|
||||
}
|
||||
|
||||
@After
|
||||
public void after() {
|
||||
try {
|
||||
this.api.disconnect();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
//pass
|
||||
@Test
|
||||
public void testS0(){
|
||||
ArrayList<byte[]> list1 = new ArrayList();
|
||||
list1.add(Util.hexString2Bytes("65706917038051804927766430009625"));
|
||||
list1.add(Util.hexString2Bytes("13000002031301110002031301110097"));
|
||||
list1.add(Util.hexString2Bytes("01820001000000000000000000000000"));
|
||||
// System.out.println(Util.hexString2Bytes("0000000000000000").length);
|
||||
int[] i={41,41,42};
|
||||
ArrayList<byte[]> list2 = new ArrayList();
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
// System.out.println(Util.hexString2Bytes("0000000000000000").length);
|
||||
byte[] data=new byte[4*1024];
|
||||
|
||||
byte[] encrytData = api.SYMEncryt(1, "E198DB62C5D9753EF3D82E8056B3F72A", 42, Util.hexString2Bytes("0000000000000000"), 3, list1, i, list2, data);
|
||||
|
||||
System.out.println(Util.bytes2HexString(encrytData));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testS0_1(){
|
||||
ArrayList<byte[]> list1 = new ArrayList();
|
||||
list1.add(Util.hexString2Bytes("65706917038051804927766430009625"));
|
||||
list1.add(Util.hexString2Bytes("13000002031301110002031301110097"));
|
||||
list1.add(Util.hexString2Bytes("01820001000000000000000000000000"));
|
||||
// System.out.println(Util.hexString2Bytes("0000000000000000").length);
|
||||
int[] i={41,41,42};
|
||||
ArrayList<byte[]> list2 = new ArrayList();
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
// System.out.println(Util.hexString2Bytes("0000000000000000").length);
|
||||
byte[] data=Util.hexString2Bytes("0123456789ABCDEF8000000000000000");
|
||||
|
||||
byte[] encrytData = api.SYMEncryt(0, "1", 42, Util.hexString2Bytes("0000000000000000"), 3, list1, i, list2, data);
|
||||
|
||||
System.out.println(Util.bytes2HexString(encrytData));
|
||||
}
|
||||
//009300000000000000065330
|
||||
//30
|
||||
//303030303030303030303030303030303030303030303030303135
|
||||
//3038
|
||||
//0000000000000000
|
||||
//33
|
||||
//65706917038051804927766430009625
|
||||
//13000002031301110002031301110097
|
||||
//01820001000000000000000000000000
|
||||
//303730373038
|
||||
//0000000000000000
|
||||
//0000000000000000
|
||||
//0000000000000000
|
||||
//30303136
|
||||
//0123456789ABCDEF8000000000000000
|
||||
|
||||
|
||||
//pass
|
||||
@Test
|
||||
public void testS1(){
|
||||
ArrayList<byte[]> list1 = new ArrayList();
|
||||
list1.add(Util.hexString2Bytes("65706917038051804927766430009625"));
|
||||
list1.add(Util.hexString2Bytes("13000002031301110002031301110097"));
|
||||
list1.add(Util.hexString2Bytes("01820001000000000000000000000000"));
|
||||
// System.out.println(Util.hexString2Bytes("0000000000000000").length);
|
||||
int[] i={41,41,42};
|
||||
ArrayList<byte[]> list2 = new ArrayList();
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
// System.out.println(Util.hexString2Bytes("0000000000000000").length);
|
||||
byte[] data=new byte[4*1024];
|
||||
|
||||
byte[] encrytData = api.SYMEncryt(1, "E198DB62C5D9753EF3D82E8056B3F72A", 42, Util.hexString2Bytes("0000000000000000"), 3, list1, i, list2, data);
|
||||
|
||||
byte[] decrytData = api.SYMDecryt(1, "E198DB62C5D9753EF3D82E8056B3F72A", 42, Util.hexString2Bytes("0000000000000000"), 3, list1, i, list2, encrytData);
|
||||
|
||||
System.out.println(decrytData.length);
|
||||
System.out.println(Util.bytes2HexString(decrytData));
|
||||
}
|
||||
//pass
|
||||
@Test
|
||||
public void testS2(){
|
||||
ArrayList<byte[]> list1 = new ArrayList();
|
||||
list1.add(Util.hexString2Bytes("65706917038051804927766430009625"));
|
||||
list1.add(Util.hexString2Bytes("13000002031301110002031301110097"));
|
||||
list1.add(Util.hexString2Bytes("01820001000000000000000000000000"));
|
||||
// System.out.println(Util.hexString2Bytes("0000000000000000").length);
|
||||
int[] i={41,41,41};
|
||||
ArrayList<byte[]> list2 = new ArrayList();
|
||||
list2.add(Util.hexString2Bytes("0000000000000001"));
|
||||
list2.add(Util.hexString2Bytes("0000000000000001"));
|
||||
list2.add(Util.hexString2Bytes("0000000000000001"));
|
||||
// System.out.println(Util.hexString2Bytes("0000000000000000").length);
|
||||
byte[] data=new byte[4*1024];
|
||||
|
||||
byte[] mac = api.genMAC(1, "303030303030303030303030303030303030303030303030303031", 42, Util.hexString2Bytes("0000000000000001"), 3, list1, i, list2, data,8);
|
||||
System.out.println(mac.length);
|
||||
System.out.println(Util.bytes2HexString(mac));
|
||||
}
|
||||
//pass
|
||||
@Test
|
||||
public void testS3(){
|
||||
ArrayList<byte[]> list1 = new ArrayList();
|
||||
// list1.add(Util.hexString2Bytes("65706917038051804927766430009625"));
|
||||
// list1.add(Util.hexString2Bytes("13000002031301110002031301110097"));
|
||||
// list1.add(Util.hexString2Bytes("01820001000000000000000000000000"));
|
||||
|
||||
list1.add(Util.hexString2Bytes("53136418693065943411485091615091"));
|
||||
list1.add(Util.hexString2Bytes("13000002031301110002031301110095"));
|
||||
list1.add(Util.hexString2Bytes("01010001000000000000000000000000"));
|
||||
// System.out.println(Util.hexString2Bytes("0000000000000000").length);
|
||||
int[] i={41,41,42};
|
||||
ArrayList<byte[]> list2 = new ArrayList();
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
// System.out.println(Util.hexString2Bytes("0000000000000000").length);
|
||||
|
||||
// byte[] data=new byte[4*1024];
|
||||
byte[] data=Util.hexString2Bytes("0123456789ABCDEF8000000000000000");
|
||||
|
||||
byte[] macAndNextIv = api.genMacAndNextIv("1", Util.hexString2Bytes("0000000000000000"), 3, list1, i, list2, data);
|
||||
System.out.println(macAndNextIv.length);
|
||||
System.out.println(Util.bytes2HexString(macAndNextIv));
|
||||
}
|
||||
|
||||
//009200000000000000005333
|
||||
//303030303030303030303030303030303030303030303030303135
|
||||
//3038
|
||||
//0000000000000000
|
||||
//33
|
||||
//53136418693065943411485091615091
|
||||
//13000002031301110002031301110095
|
||||
//01010001000000000000000000000000
|
||||
//303730373038
|
||||
//0000000000000000
|
||||
//0000000000000000
|
||||
//0000000000000000
|
||||
//30303136
|
||||
//0123456789ABCDEF8000000000000000
|
||||
|
||||
//009200000000000000005333
|
||||
//303030303030303030303030303030303030303030303030303031
|
||||
//3038
|
||||
//0000000000000000
|
||||
//33
|
||||
//53136418693065943411485091615091
|
||||
//13000002031301110002031301110095
|
||||
//01010001000000000000000000000000
|
||||
//303730373038
|
||||
//0000000000000000
|
||||
//0000000000000000
|
||||
//0000000000000000
|
||||
//30303136
|
||||
//0123456789ABCDEF8000000000000000
|
||||
|
||||
//pass
|
||||
@Test
|
||||
public void testS4(){
|
||||
RetWrap retWrap = api.genSYMkey(0,102, 256, "12");
|
||||
System.out.println(Util.bytes2HexString((byte[]) retWrap.get("publicKey")));
|
||||
//000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E7C7FFA2613093243052A11E5EF33A9B52AD9601D2E9FD6DFEA2FFF957C3A3FFCE1CECDFAD44F0EBB6C253EEC4785AFFFB73CE7501D5DE183F1A74330AECA3A76DC9B78CD10ED1EB9C781DF483368F03A5813AB4C5C96B6E2C8D876A677094E6F2ECD695C173458907291A5AB59878089512A8EB9023F9E64E045D7C14F755A300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001
|
||||
System.out.println(Util.bytes2HexString((byte[]) retWrap.get("privateKey")));
|
||||
//00040000EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736C3957DCE9A0F8AB800C0445F6F5F8BD97D9D761B9DBD5569BC68011D48C1138E9EE59D9A847428A44857BB02130D4610C4279B686B4D84878FDE8A1BE6DCA4D10975F8C172ADAFD5ED9A2E7854A458645DE3788872504A18FD0C1B0B307DAA112F4169EFA9C7110E59F22501397088144DF3796A4D326D626D83332AE6462E262EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CD044C8CFF017DB7DEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CED2FC7E8C43401FAE99976774A2CA64DB4626F2AC33D6B721A0B78B4A46B516537BAD6A40C7EFF9593939CA536DF1DB8F7A0FAFA5943E189E5A9D565A1912D66CC2421287A6AA448191946BA6FB6D2143BBFFA19A4D8A4C82B2BC24D0A4F84EADEFD8CDF3377C99D9766698FE8ADF2C2DFFF1A13E8551C7C07CFB0339FB6EEC5EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736C53B4DAF62632459A22CFBD829DD3E430ADEA1F2D958257805FFABCF70FE3807B76D48CA7923E361BE9CA56CA75F4C2A3F5C408AA6EA533DC90DFB4A92ABF44E8EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736C2F246AEA61195F77713FE63245192CCD1AAB1A1F58CF212D1FB205F51E8F71EC89CBEE6470931674EF07881D924F16FC5EF6331A647C4509A1064656432F7FB6EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CB3053D92AE7BA11A0DD5E2FA6D41743BDA331EB51E8624828F92E0A1FC3C9736A8A1718962080A8180EB88A9934E36B9EA392AAB16B7CD199A9F1DB88A0EBAA5EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736C5136AE91766346BC8D0747C22A91DA29FB892C0733E7B9B578F5BCC2233013FDDAE60AAF2601322171ABCDAA2C146D61876913E24B9A44E82AE4DD280BA0F5EFEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CAD1D91712D1D1FD54A40191428DE88E779FA673199397A8EE934B7A9114949E91221E929B8C8E41E1BC22795FE484DF74FD043518763D354062CDEDAB1B00C18
|
||||
}
|
||||
//pass
|
||||
@Test
|
||||
public void testS4_1(){
|
||||
RetWrap retWrap = api.genSYMkey(1,101, 1024, "999999999999999999999999999");
|
||||
System.out.println(Util.bytes2HexString((byte[]) retWrap.get("publicKey")));
|
||||
// 00010000FCDB2CC48D4558AA3F94B09755717EB97688BAE052A8328CA3B7B0AA8F9C1AF0000000000000000000000000000000000000000000000000000000000000000009A7A29EE5BACAB3A56501139810B26473174771FC85037D3E22A9E89FE3974C0000000000000000000000000000000000000000000000000000000000000000
|
||||
System.out.println(Util.bytes2HexString((byte[]) retWrap.get("privateKey")));
|
||||
// 00010000E7C3EE38F300714D6DFE624B53DB3DB8D815464C974DB7AD58028445E1B86BA40000000000000000000000000000000000000000000000000000000000000000
|
||||
}
|
||||
|
||||
//pass
|
||||
@Test
|
||||
public void testS5(){
|
||||
byte[] data=new byte[4*1024];
|
||||
byte[] bytes = api.signData(0, 102, "12", data);
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
//40000000116CAD79D94C067A995153EA396F073D13D832A32FB5EF11CF781ADB866D76E400000000000000000000000000000000000000000000000000000000000000007C79863307047B6BCA826AB3BC00EC3D8E768BFFEE8AE6E49C484123D5A0F2100000000000000000000000000000000000000000000000000000000000000000
|
||||
}
|
||||
//pass
|
||||
@Test
|
||||
public void testS6(){
|
||||
byte[] data=new byte[4*1024];
|
||||
byte[] bytes = api.signData(0, 102, "12", data);
|
||||
Boolean aBoolean = api.verifySignData(0, 102, "12",data, bytes);
|
||||
System.out.println(aBoolean);
|
||||
//4000000039B267492C67F83627BD042BEAA50872A7DEB4E63130C9829FA39D627A65E581000000000000000000000000000000000000000000000000000000000000000078A982444C9848192F1FF680CFC6B453362C71DE33278F78E3FF8DF903BE6CA10000000000000000000000000000000000000000000000000000000000000000
|
||||
}
|
||||
//pass
|
||||
@Test
|
||||
public void testS6_1(){
|
||||
String s="0100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF003021300906052B0E03021A05000414E3A9A7A96D9AF6433A1D1E97CDF590B13BED0668";
|
||||
byte[] data=Util.hexString2Bytes(s);
|
||||
String pk="000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E7C7FFA2613093243052A11E5EF33A9B52AD9601D2E9FD6DFEA2FFF957C3A3FFCE1CECDFAD44F0EBB6C253EEC4785AFFFB73CE7501D5DE183F1A74330AECA3A76DC9B78CD10ED1EB9C781DF483368F03A5813AB4C5C96B6E2C8D876A677094E6F2ECD695C173458907291A5AB59878089512A8EB9023F9E64E045D7C14F755A300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001";
|
||||
String sk="00040000EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736C3957DCE9A0F8AB800C0445F6F5F8BD97D9D761B9DBD5569BC68011D48C1138E9EE59D9A847428A44857BB02130D4610C4279B686B4D84878FDE8A1BE6DCA4D10975F8C172ADAFD5ED9A2E7854A458645DE3788872504A18FD0C1B0B307DAA112F4169EFA9C7110E59F22501397088144DF3796A4D326D626D83332AE6462E262EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CD044C8CFF017DB7DEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CED2FC7E8C43401FAE99976774A2CA64DB4626F2AC33D6B721A0B78B4A46B516537BAD6A40C7EFF9593939CA536DF1DB8F7A0FAFA5943E189E5A9D565A1912D66CC2421287A6AA448191946BA6FB6D2143BBFFA19A4D8A4C82B2BC24D0A4F84EADEFD8CDF3377C99D9766698FE8ADF2C2DFFF1A13E8551C7C07CFB0339FB6EEC5EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736C53B4DAF62632459A22CFBD829DD3E430ADEA1F2D958257805FFABCF70FE3807B76D48CA7923E361BE9CA56CA75F4C2A3F5C408AA6EA533DC90DFB4A92ABF44E8EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736C2F246AEA61195F77713FE63245192CCD1AAB1A1F58CF212D1FB205F51E8F71EC89CBEE6470931674EF07881D924F16FC5EF6331A647C4509A1064656432F7FB6EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CB3053D92AE7BA11A0DD5E2FA6D41743BDA331EB51E8624828F92E0A1FC3C9736A8A1718962080A8180EB88A9934E36B9EA392AAB16B7CD199A9F1DB88A0EBAA5EA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736C5136AE91766346BC8D0747C22A91DA29FB892C0733E7B9B578F5BCC2233013FDDAE60AAF2601322171ABCDAA2C146D61876913E24B9A44E82AE4DD280BA0F5EFEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CEA0171B8EF06736CAD1D91712D1D1FD54A40191428DE88E779FA673199397A8EE934B7A9114949E91221E929B8C8E41E1BC22795FE484DF74FD043518763D354062CDEDAB1B00C18";
|
||||
|
||||
String outKey="000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2C32395A7D4BE741EDDB411A59DCF1CFCC2B991F60C75D4DD7853A05F73408D4364819099036B033C7148A86C07B66A562A1E0D6D2506D227F443A7165E12754B638F5E9146F742834FEE4E3F6013FC2E41B9B35980EE1A12F1CADCEF22D2B6E3F9DFFE44ABBD2747D4C4F354D926C0E7612E8CD9CD125EC48336964B41F38B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001";
|
||||
// String signData="000400008000000059734D77FB5555CB3436BE9EE011A60E1E268DF619D96210E8AB91D1B30F3749A3F15B6E8F931DC27683CF6B46C8169177F0D51104E39BA0B892C59807A4CB29991C382A57D27612BDD19204A13EA6E39BE2F93EB2B02650547D6AD3C868AC3DBF4E51D4A1B8524BAA389BE8538D30EA74A3538B344A7464EC533B3770DF1E7C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
|
||||
|
||||
byte[] bytes = api.signData(1, 101, sk, data);
|
||||
System.out.println("签名结果signData="+Util.bytes2HexString(bytes));
|
||||
|
||||
Boolean aBoolean = api.verifySignData(1, 101, pk,data, bytes);
|
||||
System.out.println(aBoolean);
|
||||
//4000000039B267492C67F83627BD042BEAA50872A7DEB4E63130C9829FA39D627A65E581000000000000000000000000000000000000000000000000000000000000000078A982444C9848192F1FF680CFC6B453362C71DE33278F78E3FF8DF903BE6CA10000000000000000000000000000000000000000000000000000000000000000
|
||||
}
|
||||
|
||||
|
||||
|
||||
//pass
|
||||
@Test
|
||||
public void testS7(){
|
||||
byte[] data=new byte[4*1024];
|
||||
|
||||
byte[] bytes = api.ASYMEnData(0, 102, "1", data);
|
||||
System.out.println(bytes.length);
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
}
|
||||
//pass
|
||||
@Test
|
||||
public void testS8(){
|
||||
byte[] data=new byte[4*1024];
|
||||
|
||||
byte[] bytes = api.ASYMEnData(0, 102, "12", data);
|
||||
byte[] bytes1 = api.ASYMDeData(0, 102, "12", bytes);
|
||||
|
||||
System.out.println(Arrays.equals(bytes1, data));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
public void testS8_1(){
|
||||
// byte[] data=new byte[4*1024];
|
||||
|
||||
// byte[] bytes = api.ASYMEnData(0, 102, "12", data);
|
||||
String key="00010000D2710E269E2CAED545E7642BE360DAB096979CE18BB506D22935AF35CA2E05040000000000000000000000000000000000000000000000000000000000000000";
|
||||
byte[] bytes=Util.hexString2Bytes("308185022100F9FE33C22EE6C16F1E7B5FF60AA8EA41DD0F4D214B7E4A6071701B5ED3E07449022100CC65E72034ED373CAFBE4C0FFA44B49AAF1FC9D3A1E0E540FFE5E39C01881F1F04208166702645C47878E829584A82809C17A20CA495C0155C1A6964A600C48D81BB041B9EB8682E95BECF99C70BAC321AD31F8884F57661A2A5F3A4AAF8A8");
|
||||
byte[] bytes1 = api.ASYMDeData(1, 102, key, bytes);
|
||||
System.out.println(Util.bytes2HexString(bytes1));
|
||||
// System.out.println(Arrays.equals(bytes1, data));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testASYMEnData(){
|
||||
byte[] data=Util.hexString2Bytes("8765432187654321876543218765432187654321876543218765432187654321");
|
||||
String key="000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2C32395A7D4BE741EDDB411A59DCF1CFCC2B991F60C75D4DD7853A05F73408D4364819099036B033C7148A86C07B66A562A1E0D6D2506D227F443A7165E12754B638F5E9146F742834FEE4E3F6013FC2E41B9B35980EE1A12F1CADCEF22D2B6E3F9DFFE44ABBD2747D4C4F354D926C0E7612E8CD9CD125EC48336964B41F38B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001";
|
||||
byte[] bytes = api.ASYMEnData(1, 101,key, data);
|
||||
// byte[] bytes1 = api.ASYMDeData(0, 102, "12", bytes);
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
// System.out.println(Arrays.equals(bytes1, data));
|
||||
}
|
||||
|
||||
//
|
||||
// 011030303030303030305339
|
||||
// 303030303030303030303030303030303030303737373737373737
|
||||
// 3038
|
||||
// 0000000000000000
|
||||
// 33
|
||||
// 31313131313131313131313131313131
|
||||
// 32323232323232323232323232323232
|
||||
// 33333333333333333333333333333333
|
||||
// 3038
|
||||
// 3038
|
||||
// 3038
|
||||
// 0000000000000000
|
||||
// 0000000000000000
|
||||
// 0000000000000000
|
||||
// 3031
|
||||
// 303030303030303030303030303030303030303030303030303031
|
||||
// 0003000000
|
||||
// 31313131313131313131313131313131
|
||||
// 32323232323232323232323232323232
|
||||
// 33333333333333333333333333333333
|
||||
// 07000000
|
||||
// 07000000
|
||||
// 07000000
|
||||
// 00000000000000000000000000000000
|
||||
// 00000000000000000000000000000000
|
||||
// 00000000000000000000000000000000
|
||||
// 01000000
|
||||
|
||||
@Test
|
||||
public void testS9_fensan(){
|
||||
log.error("-----start------------");
|
||||
List<byte[]> protectedKeyDivData=new ArrayList<>();
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("31313131313131313131313131313131"));
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("32323232323232323232323232323232"));
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("33333333333333333333333333333333"));
|
||||
|
||||
List<Struct> structList=new ArrayList<>();
|
||||
byte[] bytes = Util.hexString2Bytes("313131313131313131313131313131313232323232323232323232323232323233333333333333333333333333333333");
|
||||
int[] i={41,41,41};
|
||||
|
||||
|
||||
List<byte[]> protectedKeyDivIv1=new ArrayList<>();
|
||||
protectedKeyDivIv1.add(Util.hexString2Bytes("0000000000000000"));
|
||||
protectedKeyDivIv1.add(Util.hexString2Bytes("0000000000000000"));
|
||||
protectedKeyDivIv1.add(Util.hexString2Bytes("0000000000000000"));
|
||||
|
||||
List<byte[]> protectedKeyDivIv2=new ArrayList<>();
|
||||
protectedKeyDivIv2.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
protectedKeyDivIv2.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
protectedKeyDivIv2.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
|
||||
|
||||
Struct struct1=new Struct("1",3,protectedKeyDivData,i,protectedKeyDivIv2,1);
|
||||
|
||||
structList.add(struct1);
|
||||
|
||||
RetWrap retWrap = api.exportKeyAndCalc("77777777",42, Util.hexString2Bytes("0000000000000000"), 3,protectedKeyDivData, new int[]{42,42,42},protectedKeyDivIv1, 1, structList);
|
||||
|
||||
printRetWrap(retWrap);
|
||||
|
||||
log.error("-----end------------");
|
||||
}
|
||||
|
||||
public void printRetWrap(RetWrap retWrap) {
|
||||
|
||||
for (String s : retWrap.keySet()) {
|
||||
System.out.println(s + ": " + Util.bytes2HexString((byte[]) retWrap.get(s)));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* S9直接发送数据
|
||||
*/
|
||||
@Test
|
||||
public void testDirect() {
|
||||
String s = "00D4000000000013A7C653393030303030303030303030303030303030303030303030303237343037312021081080000000DFDEF7EF7FFFFFFF3037000000000000000030313030303030303030303030303030303030303030303030303032310002000000D15600010100000100000001B0002A01210000080931524100080931524132380000000000000000000000000000000007000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000";
|
||||
api.directBytes(Util.hexString2Bytes(s));
|
||||
}
|
||||
|
||||
//00C2
|
||||
//3030303030303030
|
||||
//5339
|
||||
//303030303030303030303030303030303030303737373737373737
|
||||
//3038
|
||||
//0000000000000000
|
||||
//30
|
||||
//3031
|
||||
//303030303030303030303030303030303030303030303030303031
|
||||
//0000000000
|
||||
//31313131313131313131313131313131
|
||||
//32323232323232323232323232323232
|
||||
//33333333333333333333333333333333
|
||||
//07000000
|
||||
//07000000
|
||||
//07000000
|
||||
//00000000000000000000000000000000
|
||||
//00000000000000000000000000000000
|
||||
//00000000000000000000000000000000
|
||||
//01000000
|
||||
|
||||
@Test
|
||||
public void testS9_fensan1(){
|
||||
long start = System.currentTimeMillis();
|
||||
List<byte[]> protectedKeyDivData=new ArrayList<>();
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("31313131313131313131313131313131"));
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("32323232323232323232323232323232"));
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("33333333333333333333333333333333"));
|
||||
|
||||
List<Struct> structList=new ArrayList<>();
|
||||
byte[] bytes = Util.hexString2Bytes("313131313131313131313131313131313232323232323232323232323232323233333333333333333333333333333333");
|
||||
int[] i={41,41,41};
|
||||
|
||||
|
||||
List<byte[]> protectedKeyDivIv1=new ArrayList<>();
|
||||
protectedKeyDivIv1.add(Util.hexString2Bytes("0000000000000000"));
|
||||
protectedKeyDivIv1.add(Util.hexString2Bytes("0000000000000000"));
|
||||
protectedKeyDivIv1.add(Util.hexString2Bytes("0000000000000000"));
|
||||
|
||||
List<byte[]> protectedKeyDivIv2=new ArrayList<>();
|
||||
protectedKeyDivIv2.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
protectedKeyDivIv2.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
protectedKeyDivIv2.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
|
||||
|
||||
Struct struct1=new Struct("1",3,protectedKeyDivData,i,protectedKeyDivIv2,1);
|
||||
|
||||
structList.add(struct1);
|
||||
|
||||
|
||||
RetWrap retWrap = api.exportKeyAndCalc("77777777",42, Util.hexString2Bytes("0000000000000000"), 0,null, null,protectedKeyDivIv1, 1, structList);
|
||||
printRetWrap(retWrap);
|
||||
|
||||
System.out.println("时间:" + (System.currentTimeMillis() - start));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
public void testS9(){
|
||||
List<byte[]> protectedKeyDivData=new ArrayList<>();
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("31313131313131313131313131313131"));
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("32323232323232323232323232323232"));
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("33333333333333333333333333333333"));
|
||||
|
||||
List<Struct> structList=new ArrayList<>();
|
||||
byte[] bytes = Util.hexString2Bytes("313131313131313131313131313131313232323232323232323232323232323233333333333333333333333333333333");
|
||||
int[] i={41,41,41};
|
||||
|
||||
|
||||
List<byte[]> protectedKeyDivIv=new ArrayList<>();
|
||||
protectedKeyDivIv.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
protectedKeyDivIv.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
protectedKeyDivIv.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
|
||||
Struct struct1=new Struct("1",3,protectedKeyDivData,i,protectedKeyDivIv,1);
|
||||
Struct struct2=new Struct("2",3,protectedKeyDivData,i,protectedKeyDivIv,1);
|
||||
|
||||
structList.add(struct1);
|
||||
structList.add(struct2);
|
||||
|
||||
RetWrap retWrap = api.exportKeyAndCalc("77777777",41, null, 0,protectedKeyDivData, new int[]{41,41,41},protectedKeyDivIv, 2, structList);
|
||||
printRetWrap(retWrap);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testS9_1(){
|
||||
log.error("----------------start-----------------");
|
||||
List<byte[]> protectedKeyDivData=new ArrayList<>();
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("31313131313131313131313131313131"));
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("32323232323232323232323232323232"));
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("33333333333333333333333333333333"));
|
||||
|
||||
List<Struct> structList=new ArrayList<>();
|
||||
int[] i={41,41,42};
|
||||
|
||||
List<byte[]> divIv=new ArrayList<>();
|
||||
divIv.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
divIv.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
divIv.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
|
||||
|
||||
List<byte[]> protectedKeyDivIv=new ArrayList<>();
|
||||
protectedKeyDivIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
protectedKeyDivIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
protectedKeyDivIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
|
||||
Struct struct1=new Struct("1",3,protectedKeyDivData,i,divIv,3);
|
||||
Struct struct2=new Struct("2",3,protectedKeyDivData,i,divIv,1);
|
||||
Struct struct3=new Struct("3",3,protectedKeyDivData,i,divIv,3);
|
||||
Struct struct4=new Struct("4",3,protectedKeyDivData,i,divIv,1);
|
||||
Struct struct5=new Struct("5",3,protectedKeyDivData,i,divIv,1);
|
||||
|
||||
structList.add(struct1);
|
||||
structList.add(struct2);
|
||||
structList.add(struct3);
|
||||
structList.add(struct4);
|
||||
structList.add(struct5);
|
||||
|
||||
RetWrap retWrap = api.exportKeyAndCalc("77777777",52, Util.hexString2Bytes("00000000000000000000000000000000"), 3,protectedKeyDivData, i,protectedKeyDivIv, 5, structList);
|
||||
printRetWrap(retWrap);
|
||||
|
||||
log.error("----------------end-----------------");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testS9_2(){
|
||||
List<byte[]> protectedKeyDivData=new ArrayList<>();
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("59243981728845760300152622870624"));
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("13000002031301110002031301110094"));
|
||||
protectedKeyDivData.add(Util.hexString2Bytes("01810001000000000000000000000000"));
|
||||
|
||||
List<Struct> structList=new ArrayList<>();
|
||||
byte[] bytes = Util.hexString2Bytes("313131313131313131313131313131313232323232323232323232323232323233333333333333333333333333333333");
|
||||
int[] i={41,41};
|
||||
|
||||
|
||||
List<byte[]> protectedKeyDivIv=new ArrayList<>();
|
||||
protectedKeyDivIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
protectedKeyDivIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
protectedKeyDivIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
|
||||
List<byte[]> divData=new ArrayList<>();
|
||||
divData.add(Util.hexString2Bytes("25637158699399449582953157027093"));
|
||||
divData.add(Util.hexString2Bytes("13000002031301110002031301110094"));
|
||||
|
||||
List<byte[]> divIv=new ArrayList<>();
|
||||
divIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
divIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
|
||||
Struct struct1=new Struct("1",2,divData,i,divIv,1);
|
||||
// Struct struct2=new Struct("2",3,protectedKeyDivData,i,protectedKeyDivIv,1);
|
||||
|
||||
structList.add(struct1);
|
||||
// structList.add(struct2);
|
||||
|
||||
RetWrap retWrap = api.exportKeyAndCalc("77777777",42, Util.hexString2Bytes("0000000000000000"), 3,protectedKeyDivData, new int[]{41,41,42},protectedKeyDivIv, 1, structList);
|
||||
System.out.println(retWrap);
|
||||
System.out.println(Util.bytes2HexString((byte[]) retWrap.get("linkKeyOut")));
|
||||
System.out.println(Util.bytes2HexString((byte[]) retWrap.get("linkKeyCheckOut")));
|
||||
}
|
||||
|
||||
|
||||
//PASS
|
||||
@Test
|
||||
public void testSA(){
|
||||
String key = "";
|
||||
List<byte[]> divData=new ArrayList<>();
|
||||
divData.add(Util.hexString2Bytes("D1560001010001600000000100000000"));
|
||||
divData.add(Util.hexString2Bytes("2000000910300305000910300305359C"));
|
||||
int[] i={41,41};
|
||||
List<byte[]> divIv=new ArrayList<>();
|
||||
divIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
divIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
|
||||
byte[] clientRandom=Util.hexString2Bytes("757E7FA47BC925A77BB5A75B5E455E5C574E4B24193A826A47B61FCCEA78B27C");
|
||||
byte[] serverRandom=Util.hexString2Bytes("5F1E81531049D954D7F1C97663B7FFF14AF94C6CABF2301B70F119A0778EA3E8");
|
||||
|
||||
byte[] bytes = api.consultKey("1", 2, divData, i, divIv, clientRandom, serverRandom);
|
||||
|
||||
System.out.println(bytes.length);
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
}
|
||||
//PASS
|
||||
@Test
|
||||
public void testSA_1(){
|
||||
String key = "";
|
||||
List<byte[]> divData=new ArrayList<>();
|
||||
divData.add(Util.hexString2Bytes("D1560001010001600000000100000000"));
|
||||
divData.add(Util.hexString2Bytes("2000000910300305000910300305359C"));
|
||||
int[] i={41,41};
|
||||
List<byte[]> divIv=new ArrayList<>();
|
||||
divIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
divIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
|
||||
byte[] clientRandom=Util.hexString2Bytes("757E7FA47BC925A77BB5A75B5E455E5C574E4B24193A826A47B61FCCEA78B27C");
|
||||
byte[] serverRandom=Util.hexString2Bytes("5F1E81531049D954D7F1C97663B7FFF14AF94C6CABF2301B70F119A0778EA3E8");
|
||||
|
||||
byte[] bytes = api.consultKey("1", 2, divData, i, divIv, clientRandom, serverRandom);
|
||||
|
||||
System.out.println(bytes.length);
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
}
|
||||
|
||||
//000C00000000000000014232
|
||||
//3241
|
||||
|
||||
//pass
|
||||
@Test
|
||||
public void testSB(){
|
||||
String key = "E7E411C1C61C08756BE6D79AEACB602BBE95D15C3C16375EE56221873EA30C5B128959D6E8EFCC5BF8AEAD9A486F586A";
|
||||
String seed= "636C69656E742066696E6973686564BAE3AFA00AA783D338CAFA00B899BB39C7FBDF5448A32136C0BE4D5CC164AA4B";
|
||||
byte[] bytes = api.pHash(key, seed, 16);
|
||||
System.out.println(bytes.length);
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
}
|
||||
|
||||
//pass
|
||||
@Test
|
||||
public void testSC(){
|
||||
//分散因子
|
||||
ArrayList<byte[]> decryptKeyDivData = new ArrayList();
|
||||
decryptKeyDivData.add(Util.hexString2Bytes("65706917038051804927766430009625"));
|
||||
decryptKeyDivData.add(Util.hexString2Bytes("13000002031301110002031301110097"));
|
||||
decryptKeyDivData.add(Util.hexString2Bytes("01820001000000000000000000000000"));
|
||||
//分散算法标识
|
||||
int[] decryptKeyDivAlgFlag={41,42,51};
|
||||
|
||||
List<byte[]> decryptKeyDivIv=new ArrayList<>();
|
||||
decryptKeyDivIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
decryptKeyDivIv.add(Util.hexString2Bytes("0000000000000000"));
|
||||
decryptKeyDivIv.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
|
||||
// byte[] data=new byte[4*1024];
|
||||
byte[] data=Util.hexString2Bytes("0123456789ABCDEF8000000000000000");
|
||||
|
||||
byte[] en = api.decrytAndEn("1", 52, Util.hexString2Bytes("00000000000000000000000000000000"), 3, decryptKeyDivData, decryptKeyDivAlgFlag, decryptKeyDivIv
|
||||
, "1", 52, Util.hexString2Bytes("00000000000000000000000000000000"), 3, decryptKeyDivData, decryptKeyDivAlgFlag, decryptKeyDivIv, data);
|
||||
System.out.println(en.length);
|
||||
System.out.println(Util.bytes2HexString(en));
|
||||
|
||||
}
|
||||
|
||||
//pass
|
||||
@Test
|
||||
public void testSD(){
|
||||
String data="30818C02206DDEC4FAE3F9FE1879DDF588DA5EF4EA25085444CD7CF9A368DBECAFB4181A46022100E60E7AF3B3B41F61DB252FFB89B7D336A6E39F0178271D8512AE3BCD4E68EE7E0420FDC0DA61B429D00490CAE56EAD90797298758A1D9054A348E00ECA58F239BF3104231A55B73872184DF779F54FCE756C88C65C06086241D6D1D85D879EE2E7511971E7E339";
|
||||
byte[] bytes = api.ASYMDecryptAndEn(0, "2", 102, Util.hexString2Bytes(data), 0, 3);
|
||||
System.out.println(bytes.length);
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
}
|
||||
|
||||
//pass
|
||||
@Test
|
||||
public void testSD_1(){
|
||||
String key="000100000F46A8BF6B282E2EA4E01C620F741E256F45AB17150E9B08871176515042B6520000000000000000000000000000000000000000000000000000000000000000";
|
||||
String data="30818C0221008EE7EDEBF4AEC4BABAAF80438BF08C597F2A7E7C071A4C279AEA0D839FE4BA3902202B4F6C9E3E387AA4F990C363B910002CD7A228CBFEE88A9075C9800CF0C4678004207515F4B1FB3716675137FD3DC49B70B7B09FC57D837E2B21F9C9B2C271A64D630423A298EC40AA9A7BD7420A9EA6083F78242D044A8241439F325F6FFF487EC7EE1CFCFB16";
|
||||
byte[] bytes = api.ASYMDecryptAndEn(1, key, 102, Util.hexString2Bytes(data), 3, 0);
|
||||
System.out.println(bytes.length);
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
}
|
||||
|
||||
//00E80000000000000000534431313230303638000100000F46A8BF6B282E2EA4E01C620F741E256F45AB17150E9B08871176515042B65200000000000000000000000000000000000000000000000000000000000000003031343330818C0221008EE7EDEBF4AEC4BABAAF80438BF08C597F2A7E7C071A4C279AEA0D839FE4BA3902202B4F6C9E3E387AA4F990C363B910002CD7A228CBFEE88A9075C9800CF0C4678004207515F4B1FB3716675137FD3DC49B70B7B09FC57D837E2B21F9C9B2C271A64D630423A298EC40AA9A7BD7420A9EA6083F78242D044A8241439F325F6FFF487EC7EE1CFCFB16
|
||||
//00E80000000000000000534431313230303638000100000F46A8BF6B282E2EA4E01C620F741E256F45AB17150E9B08871176515042B65200000000000000000000000000000000000000000000000000000000000000003031343330818C0221008EE7EDEBF4AEC4BABAAF80438BF08C597F2A7E7C071A4C279AEA0D839FE4BA3902202B4F6C9E3E387AA4F990C363B910002CD7A228CBFEE88A9075C9800CF0C4678004207515F4B1FB3716675137FD3DC49B70B7B09FC57D837E2B21F9C9B2C271A64D630423A298EC40AA9A7BD7420A9EA6083F78242D044A8241439F325F6FFF487EC7EE1CFCFB16
|
||||
//pass
|
||||
@Test
|
||||
public void testSE(){
|
||||
byte[] en = api.SYMDecryptAndEn("E198DB62C5D9753EF3D82E8056B3F72A", 41, null, Util.hexString2Bytes("F1A03879E284895C1BCF643FFF1A1A63"));
|
||||
System.out.println(en.length);
|
||||
System.out.println(Util.bytes2HexString(en));
|
||||
}
|
||||
|
||||
//pass
|
||||
@Test
|
||||
public void testSE_2(){
|
||||
byte[] en = api.SYMDecryptAndEn("E198DB62C5D9753EF3D82E8056B3F72A", 42, Util.hexString2Bytes("0000000000000000"), Util.hexString2Bytes("5B068D4EA5631C2D965A15343EDBF4FA"));
|
||||
System.out.println(en.length);
|
||||
System.out.println(Util.bytes2HexString(en));
|
||||
}
|
||||
|
||||
//pass
|
||||
@Test
|
||||
public void testSF(){
|
||||
//分散因子
|
||||
ArrayList<byte[]> list1 = new ArrayList();
|
||||
list1.add(Util.hexString2Bytes("65706917038051804927766430009625"));
|
||||
list1.add(Util.hexString2Bytes("13000002031301110002031301110097"));
|
||||
list1.add(Util.hexString2Bytes("01820001000000000000000000000000"));
|
||||
//分散算法标识
|
||||
int[] i={41,41,52};
|
||||
|
||||
ArrayList<byte[]> list2 = new ArrayList();
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
list2.add(Util.hexString2Bytes("0000000000000000"));
|
||||
list2.add(Util.hexString2Bytes("00000000000000000000000000000000"));
|
||||
|
||||
byte[] data=new byte[4*1024];
|
||||
|
||||
byte[] bytes = api.decryptByMainAndSYMEn("1", 41, null, 3, list1, i, list2, data);
|
||||
System.out.println(bytes.length);
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
// int num=3;
|
||||
// StringBuffer stringBuffer = new StringBuffer();
|
||||
// while (num != 0) {
|
||||
// int a = num % 10;
|
||||
// stringBuffer.append(a);
|
||||
// num /= 10;
|
||||
// }
|
||||
// System.out.println();
|
||||
|
||||
byte[] bytes = Util.hexString2Bytes("03000000");
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void B1_A0_B2(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void getVersion(){
|
||||
RetWrap version = api.getDevInfo();
|
||||
System.out.println(version);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user