区块链 加密解密公共方法提供

This commit is contained in:
zhangqinbin
2021-09-02 18:31:06 +08:00
parent d572127d29
commit 240a37d266
6 changed files with 101 additions and 16 deletions

View File

@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.serializer.SerializerFeature;
import com.chinaunicom.mall.ebtp.common.crypto.exception.InvalidArgumentException; import com.chinaunicom.mall.ebtp.common.crypto.exception.InvalidArgumentException;
import com.chinaunicom.mall.ebtp.common.crypto.security.CryptoPrimitives; import com.chinaunicom.mall.ebtp.common.crypto.security.CryptoPrimitives;
import com.chinaunicom.mall.ebtp.common.crypto.tenderfee.BidTenderFeeBaseParam;
import com.chinaunicom.mall.ebtp.common.crypto.tenderfee.test; import com.chinaunicom.mall.ebtp.common.crypto.tenderfee.test;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
@ -75,21 +74,21 @@ public class CrypServiceImpl {
"-----END CERTIFICATE-----"; "-----END CERTIFICATE-----";
// 需正确设置bean的@JSONField以确保解析到的字段名称与文档一致 // 需正确设置bean的@JSONField以确保解析到的字段名称与文档一致
List<BidTenderFeeBaseParam> paramList = new ArrayList<>(); // List<BidTenderFeeBaseParam> paramList = new ArrayList<>();
BidTenderFeeBaseParam bean = new BidTenderFeeBaseParam(); // BidTenderFeeBaseParam bean = new BidTenderFeeBaseParam();
bean.setTenderId("8533"); // bean.setTenderId("8533");
bean.setShoppingCartId("L3307"); // bean.setShoppingCartId("L3307");
bean.setAmount("1000"); // bean.setAmount("1000");
bean.setTpId("L3307A"); // bean.setTpId("L3307A");
bean.setSectionId("1111"); // bean.setSectionId("1111");
paramList.add(bean); // paramList.add(bean);
// 用于签名的Bean将被signObject转换为json(String,然后转换为byte[]),请确保该json只包含文档规定的业务字段且“SGIN"不应包含其中 // // 用于签名的Bean将被signObject转换为json(String,然后转换为byte[]),请确保该json只包含文档规定的业务字段且“SGIN"不应包含其中
String signatureOfBean = signObject2(paramList,pemVal); // String signatureOfBean = signObject2(paramList,pemVal);
// 生成的签名现在可以追加到签名字段 // // 生成的签名现在可以追加到签名字段
System.out.println("signature of Bean: "+signatureOfBean); // System.out.println("signature of Bean: "+signatureOfBean);
boolean isOkBean = verifyValue(signatureOfBean,paramList,crtVal); // boolean isOkBean = verifyValue(signatureOfBean,paramList,crtVal);
System.out.println("verify result of Bean: "+ isOkBean); // System.out.println("verify result of Bean: "+ isOkBean);
} }

View File

@ -4,6 +4,8 @@ import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Map;
/** /**
* 实体类 总 * 实体类 总
* *
@ -16,6 +18,8 @@ public class UniBss{
private UniBssAttached uniBssAttached; private UniBssAttached uniBssAttached;
@JSONField(name = "UNI_BSS_BODY") @JSONField(name = "UNI_BSS_BODY")
private UniBssBody uniBssBody; private UniBssBody uniBssBody;
@JSONField(name = "UNI_BSS_BODY")
private Map<String,Object> uniBssBodyMap;
@JSONField(name = "UNI_BSS_HEAD") @JSONField(name = "UNI_BSS_HEAD")
private UniBssHead uniBssHead; private UniBssHead uniBssHead;
} }

View File

@ -16,8 +16,12 @@ import java.util.Map;
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
public class UniBssBody implements Serializable { public class UniBssBody implements Serializable {
/**
* 沃支付订单查询参数
*/
@JSONField(name = "SINGLE_ORDER_QRY_REQ") @JSONField(name = "SINGLE_ORDER_QRY_REQ")
private Map<String, String> singleOrderQryReq = new HashMap<>(); private Map<String, String> singleOrderQryReq;
@JSONField(name = "SINGLE_ORDER_QRY_RSP") @JSONField(name = "SINGLE_ORDER_QRY_RSP")
private String singleOrderQryRsp; private String singleOrderQryRsp;

View File

@ -0,0 +1,23 @@
package com.chinaunicom.mall.ebtp.common.uniBss.entity;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* 实体类 天擎权限 区块链
*
* @auto.generated
*/
@Data
@Accessors(chain = true)
public class UniCrpyReq implements Serializable {
@JSONField(name = "HEAD")
private UniReqHead head;
@JSONField(name = "BODY")
private Map<String,Object> body = new HashMap<>();
}

View File

@ -0,0 +1,29 @@
package com.chinaunicom.mall.ebtp.common.uniBss.entity;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* 实体类 天擎权限
*
* @auto.generated
*/
@Data
@Accessors(chain = true)
public class UniReqHead implements Serializable {
@JSONField(name = "SYSTEM_ID")
private String systemId;
@JSONField(name = "SYSTEM_NAME")
private String systemName;
@JSONField(name = "USER_ID")
private String userId;
@JSONField(name = "USER_NAME")
private String userName;
@JSONField(name = "ACCESS_TOKEN")
private String accessToken;
}

View File

@ -11,6 +11,10 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import cn.hutool.core.exceptions.ExceptionUtil; import cn.hutool.core.exceptions.ExceptionUtil;
import com.alibaba.fastjson.JSON;
import com.chinaunicom.mall.ebtp.common.uniBss.entity.UniBss;
import com.chinaunicom.mall.ebtp.common.uniBss.entity.UniCrpyReq;
import com.chinaunicom.mall.ebtp.common.uniBss.entity.UniReqHead;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
@ -140,6 +144,28 @@ public class UniBssServiceImpl {
public static void main(String arge[]){ public static void main(String arge[]){
UniReqHead head = new UniReqHead();
head.setSystemId("22222");
head.setAccessToken("1111");
head.setSystemName("22211");
UniCrpyReq req = new UniCrpyReq();
req.setHead(head);
Map map = new HashMap();
map.put("BIDDING_TENDERFEE_REQ",req);
UniBss bss = new UniBss();
bss.setUniBssBodyMap(map);
// BiddingTenderfeeReq req = new BiddingTenderfeeReq();
// UniReqHead head = new UniReqHead();
// head.setAccessToken("");
// req.setHead(head);
// bssBody.setBiddingTenderfeeReq(req);
String json = JSON.toJSONString(bss);
System.out.println(json);
/* String rsp = "signMsg=xxxdfsdfs=="; /* String rsp = "signMsg=xxxdfsdfs==";
Map map = uniBssRspToMap(rsp); Map map = uniBssRspToMap(rsp);
System.out.println(map);*/ System.out.println(map);*/