| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | package org.jeecg;import com.alibaba.fastjson.JSONObject;import org.jeecg.common.util.security.SecurityTools;import org.jeecg.common.util.security.entity.*;import org.junit.Test;public class SecurityToolsTest {    @Test    public void Test(){        MyKeyPair mkeyPair = SecurityTools.generateKeyPair();        JSONObject msg = new JSONObject();        msg.put("name", "党政辉");        msg.put("age", 50);        JSONObject identity = new JSONObject();        identity.put("type", "01");        identity.put("no", "210882165896524512");        msg.put("identity", identity);        // 签名加密部分        SecuritySignReq signReq = new SecuritySignReq();        // data为要加密的报文字符串        signReq.setData(msg.toString());        // 为rsa私钥        signReq.setPrikey(mkeyPair.getPriKey());        // 调用签名方法        SecuritySignResp sign = SecurityTools.sign(signReq);        // 打印出来加密数据        // signData为签名数据        // data为aes加密数据        // asekey为ras加密过的aeskey        System.out.println(JSONObject.toJSON(sign));        // 验签解密部分        SecurityReq req = new SecurityReq();        //对方传过来的数据一一对应        req.setAesKey(sign.getAesKey());        req.setData(sign.getData());        req.setSignData(sign.getSignData());        //我们的公钥        req.setPubKey(mkeyPair.getPubKey());        //验签方法调用        SecurityResp securityResp = SecurityTools.valid(req);        //解密报文data为解密报文        //sucess 为验签成功失败标志 true代码验签成功,false代表失败        System.out.println(JSONObject.toJSON(securityResp));    }}
 |