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));
- }
- }
|