# Conflicts: # pom.xml # src/main/java/com/sunyard/SydApiException.java # src/main/java/racal/sunyard/main/SydApi4j.java # src/test/java/com/sunyard/sydapi/test/TestAllMethods.java
66 lines
2.0 KiB
Java
66 lines
2.0 KiB
Java
package com.sunyard.sydapi;
|
|
|
|
import com.sunyard.proto.Util;
|
|
import org.junit.Assert;
|
|
import racal.sunyard.main.SydApi4j;
|
|
|
|
|
|
/**
|
|
* 传化国密加解密demo
|
|
* */
|
|
public class ChuanhuaDemo2 {
|
|
|
|
/*public static void write(String file, byte[] content) {
|
|
try {
|
|
File f = new File(file);
|
|
if (!f.exists()) {
|
|
f.createNewFile();
|
|
}
|
|
FileOutputStream fos = new FileOutputStream(f);
|
|
fos.write(content);
|
|
} catch (Exception e) {
|
|
System.out.println("写入文件 " + file + " 异常");
|
|
}
|
|
}*/
|
|
public static void main(String[] args){
|
|
|
|
// 调试模式
|
|
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
|
|
|
// 建立链接(单台)
|
|
// SydApi4j api = (SydApi4j) new SydApi4j().connect("192.168.0.100", 8889, null, 1000);
|
|
SydApi4j api = (SydApi4j) new SydApi4j().connect("172.16.18.59", 8889, null, 1000);
|
|
|
|
|
|
try{
|
|
|
|
// final String testSN1 = "1004282451";//签名
|
|
// final String testSN2 = "1004282452";//加密
|
|
final String userId = "1747";
|
|
|
|
byte[] testData = "1234567812345678信达雅SUNYARDsunyard@!#$%^加密s".getBytes("GBK");
|
|
|
|
String pk = api.SM2GetPublicKeyC(userId, 1);
|
|
System.out.println("pk= " + pk);
|
|
|
|
System.out.println("\n\n----- 用输入的会话密钥,对指定报文数据进行加密处理。 SM2 -----");
|
|
String sdata = api.SM2Encrypt(Util.hexString2Bytes(pk), testData);
|
|
System.out.println("加密后的数据: " + sdata);
|
|
|
|
System.out.println("\n\n----- 用输入的会话密钥,对指定报文数据进行解密处理。 SM2 -----");
|
|
byte[] data = api.SM2DecryptC(userId, sdata);
|
|
Assert.assertArrayEquals(testData, data);
|
|
System.out.println("解密后的数据: " + new String(data));
|
|
// write("./data.txt",data);
|
|
|
|
|
|
}catch (Exception e){
|
|
e.printStackTrace();
|
|
}finally {
|
|
api.disconnect();
|
|
}
|
|
|
|
}
|
|
|
|
}
|