删除控制台输出

This commit is contained in:
zhoubin
2022-01-10 17:54:07 +08:00
parent c4b16a7628
commit 0a4c8fcf0b
14 changed files with 57 additions and 52 deletions
@@ -27,7 +27,7 @@ public class ABCNorthBranch {
String SM2PrivateKey = null;
// SM4密钥索引
String SM4PrivateKeyTag = "333333333333333300A00000001";
String SM4PrivateKeyTag = "000000000000000100011111111";
// SM4密钥
String SM4Key = null;
@@ -35,7 +35,7 @@ public class ABCNorthBranch {
@Before
public void before() {
System.setProperty("com.sunyard.sydapi4j.debug", "true");
api = (SydApi4j) new SydApi4j().connect("192.168.1.7", 8889, null, 5000);
api = (SydApi4j) new SydApi4j().connect("61.164.40.82", 8889, null, 5000);
SM2PublicKey = api.SM2GetPublicKeyC(SM2PrivateKeyTag);
SM2PrivateKey = api.SM2GetPrivateKeyC(SM2PrivateKeyTag);
@@ -695,43 +695,45 @@ public class TestAllMethods {
String msg = "1111111111111111111111";
/**
* 对称密钥产生
* @param keyType 密钥类型
* @param solution 密钥方案(LMK) 密钥长度/LMK下加密密钥的方案。
* @return RetWrap 包含
* lmkKey LMK LMK加密密钥
* keyCheck 密钥校验值
*
*/
RetWrap retWrap = api.genSymmetricKey("000", 'X');
/**
* 对称密钥产生
* @param keyType 密钥类型
* @param solution 密钥方案(LMK) 密钥长度/LMK下加密密钥的方案。
* @return RetWrap 包含
* lmkKey LMK LMK加密密钥
* keyCheck 密钥校验值
*
*/
RetWrap retWrap = api.genSymmetricKey("000", 'S');
byte[] lmkKey = (byte[]) retWrap.get("lmkKey");
byte[] lmkKey = (byte[]) retWrap.get("lmkKey");
String key = new String(lmkKey);
String key = new String(lmkKey);
/**
* 用输入的会话密钥,对指定报文数据进行加密处理。
*
* @param nAlg  算法标识.,0x00:3DES,0x01:SM4。
* @param seesionKey  本地LMK 加密的会话密钥,HEX 格式
* @param pINdata  要加密的报文明文。必须是 8 或16 的倍数。
* @return 输出的报文密文, 长度为报文明文 + 16
*/
byte[] bytes = api.SYMEncryptDataCBC(1, key, msg.getBytes());
System.out.println("对称密钥:" + key);
System.out.println("输出为: " + com.sunyard.proto.Util.bytes2HexString(bytes));
/**
* 用输入的会话密钥,对指定报文数据进行加密处理。
*
* @param nAlg  算法标识.,0x00:3DES,0x01:SM4。
* @param seesionKey  本地LMK 加密的会话密钥,HEX 格式
* @param pINdata  要加密的报文明文。必须是 8 或16 的倍数。
* @return 输出的报文密文, 长度为报文明文 + 16
*/
byte[] bytes = api.SYMEncryptDataCBC(1, key, msg.getBytes());
/**
* 用输入的会话密钥,对指定报文数据进行解密处理。
*
* @param nAlg  算法标识.,0x00:3DES,0x01:SM4。
* @param seesionKey 本地LMK 加密的会话密钥,HEX 格式
* @param pINdata 要解密的报文密文。长度必须是8 或16 的倍数。
* @return 输出的报文明文。
*/
byte[] bytes1 = api.SYMDecryptDataCBC(1, key, bytes);
System.out.println("明文:" + new String(bytes1));
System.out.println("输出为: " + com.sunyard.proto.Util.bytes2HexString(bytes));
/**
* 用输入的会话密钥,对指定报文数据进行解密处理。
*
* @param nAlg  算法标识.,0x00:3DES,0x01:SM4。
* @param seesionKey 本地LMK 加密的会话密钥,HEX 格式
* @param pINdata 要解密的报文密文。长度必须是8 或16 的倍数。
* @return 输出的报文明文。
*/
byte[] bytes1 = api.SYMDecryptDataCBC(1, key, bytes);
System.out.println("明文:" + new String(bytes1));
}
@Test
@@ -1725,7 +1727,7 @@ public class TestAllMethods {
System.out.println("加密后的数据: " + s);
byte[] bytes = api.SM2DecryptOrder(certId, s);
byte[] bytes = api.SM2DecryptOrder(certId, s, SydApi.FOR_ENCRYPT);
System.out.println("decData:" + new String(bytes));
}
@@ -169,7 +169,7 @@ public class TestGSYH {
"qudmZGsIQUivZDt3/73dGojVjj5L76OcJICIAHu0G242uYPY2B8zMkGw7kQ1C1xgRipEmlC1GWwMCz0";
/**
* 从签名中获取证书并上载到加密机
* 验签并从签名中获取证书并上载到加密机
* @param orgData 待签名的原始数据
* @param sign 签名数据
* @return 证书信息(包含公钥字段)
@@ -200,12 +200,12 @@ public class TestGSYH {
// 测试通过
// 78
@Test
public void testSM2DecryptOrder() {
String userId = "1111111111111151";
public void testSM2DecryptOrder2() {
String userId = "8015";
String orgData = "FfffffffffffffFfffffffffffffffff";
// 通过用户id获取公钥
String publicKey = api.SM2GetPublicKeyC(userId, SydApi.FOR_ENCRYPT);
String publicKey = api.SM2GetPublicKeyC(userId, SydApi.FOR_SIGN);
/**
* 用指定的 SM2 公钥对指定的密文数据进行加密。
@@ -223,9 +223,10 @@ public class TestGSYH {
* 输入的sm2密文结构为C1C2C3格式
* @param userId 使用者的 ID,最大长度为 16 位数字,右对齐。
* @param enData 加密的数据,base64 编码。
* @param keyType 密钥类型,0:签名证书, 1:加密证书。
* @return 明文数据。
*/
byte[] bytes = api.SM2DecryptOrder(userId, s);
byte[] bytes = api.SM2DecryptOrder(userId, s, SydApi.FOR_SIGN);
System.out.println("decData:" + new String(bytes));
}