提交 c9195702 编写于 作者:  Peijun.zhao's avatar Peijun.zhao

兼容安卓加密接口报错,并记录流水

上级 c37dd5a6
流水线 #24666 已失败 于阶段
in 0 second
package com.pica.cloud.account.account.server.controller; package com.pica.cloud.account.account.server.controller;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.server.configuration.PropertiesConfiguration; import com.pica.cloud.account.account.server.configuration.PropertiesConfiguration;
import com.pica.cloud.account.account.server.constants.Constants; import com.pica.cloud.account.account.server.constants.Constants;
import com.pica.cloud.account.account.server.entity.AccountUnionEntity; import com.pica.cloud.account.account.server.entity.AccountUnionEntity;
import com.pica.cloud.account.account.server.entity.AesBean.AesAuthCodeReq;
import com.pica.cloud.account.account.server.entity.EncryptEntity; import com.pica.cloud.account.account.server.entity.EncryptEntity;
import com.pica.cloud.account.account.server.entity.LogLoginAes;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum; import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
import com.pica.cloud.account.account.server.exception.AccountException; import com.pica.cloud.account.account.server.exception.AccountException;
import com.pica.cloud.account.account.server.req.BaseRequest; import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.service.AccountService; import com.pica.cloud.account.account.server.service.*;
import com.pica.cloud.account.account.server.service.AccountUnionService;
import com.pica.cloud.account.account.server.service.AuthCodeService;
import com.pica.cloud.account.account.server.service.CaptchaService;
import com.pica.cloud.account.account.server.util.*; import com.pica.cloud.account.account.server.util.*;
import com.pica.cloud.foundation.entity.PicaException; import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResponse; import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaResultCode; import com.pica.cloud.foundation.entity.PicaResultCode;
import com.pica.cloud.foundation.entity.PicaWarnException;
import com.pica.cloud.foundation.redis.ICacheClient; import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.utils.CommonUtil; import com.pica.cloud.foundation.utils.utils.CommonUtil;
import com.pica.cloud.foundation.utils.utils.ValidateUtils; import com.pica.cloud.foundation.utils.utils.ValidateUtils;
...@@ -28,14 +26,10 @@ import org.apache.commons.lang3.StringUtils; ...@@ -28,14 +26,10 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@Api(description = "短信验证码资源") @Api(description = "短信验证码资源")
@RestController @RestController
public class AutoCodeController extends AccountBaseController { public class AutoCodeController extends AccountBaseController {
...@@ -56,6 +50,9 @@ public class AutoCodeController extends AccountBaseController { ...@@ -56,6 +50,9 @@ public class AutoCodeController extends AccountBaseController {
@Autowired @Autowired
private AuthCodeService authCodeService; private AuthCodeService authCodeService;
@Autowired
private LoginService loginService;
@Autowired @Autowired
private PropertiesConfiguration propertiesConfiguration; private PropertiesConfiguration propertiesConfiguration;
...@@ -99,13 +96,36 @@ public class AutoCodeController extends AccountBaseController { ...@@ -99,13 +96,36 @@ public class AutoCodeController extends AccountBaseController {
* @Date 2020/2/28 9:55 * @Date 2020/2/28 9:55
* @ModifyDate 2020/2/28 9:55 * @ModifyDate 2020/2/28 9:55
* @Params [entity, req] * @Params [entity, req]
* @Return com.pica.cloud.foundation.entity.PicaResponse * @Return com.pica.cloud.foundation.entity.PicaResponse EncryptEntity
*/ */
@ApiOperation("获取短信验证码,无需图形验证码,如app端") @ApiOperation("获取短信验证码,无需图形验证码,如app端")
@PostMapping(value = "/authCode") @PostMapping(value = "/authCode")
public PicaResponse getAuthCode(@RequestBody EncryptEntity entity, HttpServletRequest req) throws Exception { public PicaResponse getAuthCode(@RequestBody AesAuthCodeReq authCodeReq, HttpServletRequest req) throws Exception {
// 验证码类型 0默认 1注册 2微信登录绑定手机 3修改手机 // 验证码类型 0默认 1注册 2微信登录绑定手机 3修改手机
// 4重置密码 5忘记密码 7患者招募提交问卷(效验) 8Appe登录绑定手机 // 4重置密码 5忘记密码 7患者招募提交问卷(效验) 8Appe登录绑定手机
//added by joy begin
EncryptEntity entity = new EncryptEntity();
if(StringUtils.isEmpty(authCodeReq.getKey()) && StringUtils.isEmpty(authCodeReq.getContent())){
//明文时处理
entity = RSAUtil.getAuthCodeEncrypt(authCodeReq);
logger.info("AesAuthCodeReq getAuthCode:" + JSONObject.toJSONString(authCodeReq));
logger.info("AesAuthCodeReq getAuthCode encrypt:" + JSONObject.toJSONString(entity));
//个别报错数据记流水
LogLoginAes loginAes = new LogLoginAes();
loginAes.setChannel(1);
loginAes.setDeviceToken(authCodeReq.getDevice_token());
loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType());
loginAes.setMobile(authCodeReq.getMobile());
loginAes.setDeviceInfo(super.getDeviceInfo("deviceinfo"));
loginService.insertLoginAesLog(loginAes);
}else {
//执行原逻辑
entity.setKey(authCodeReq.getKey());
entity.setContent(authCodeReq.getContent());
}
//added by joy end
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class); BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setSourceType(super.getSourceType()); request.setSourceType(super.getSourceType());
AccountUtils.checkMobilePhone(request.getMobile()); AccountUtils.checkMobilePhone(request.getMobile());
......
...@@ -28,8 +28,10 @@ public class CipherController { ...@@ -28,8 +28,10 @@ public class CipherController {
@GetMapping(value = "/cipher/key") @GetMapping(value = "/cipher/key")
public PicaResponse<String> getPublicKey() { public PicaResponse<String> getPublicKey() {
//提高qps 100 8失败率至 300 1 失败率 //提高qps 100 8失败率至 300 1 失败率
String key = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnVzDlG6DJBwTsn7jFriKOmzqfm+d4vy6DtKqMfrEPg6hU3bfbR9XRfwqAFrS4+QowybpuyWCa7DFyKl0JyEa/GSrfjbXSpalFHhmWH0z0hCF1m/UvlPA0BaiYFy9ucXF9Uh8RaHkZGVmV+RbVISk4pjlZdRcK5EQ5hciBFGtgGwIDAQAB"; String testPubKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCa6j3SJwXr/pLLwb6Pq8pi9StPq+Wvm6vu+LWQB1hNqClWk0jQm5GnF6Kj0ac2gqgsMsutc3hhMaaX2QZvLX+gFQHC/ufGBdBbpPtDeGWsQItsMf/xqqlkLPkc7eVTyfsmrpQM7BG9LVvaPVXPVUcZfJNBaYuR4+Sf6Zi2ayI/hQIDAQAB";
return PicaResponse.toResponse(rsaPublicKey); String prodPubKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnVzDlG6DJBwTsn7jFriKOmzqfm+d4vy6DtKqMfrEPg6hU3bfbR9XRfwqAFrS4+QowybpuyWCa7DFyKl0JyEa/GSrfjbXSpalFHhmWH0z0hCF1m/UvlPA0BaiYFy9ucXF9Uh8RaHkZGVmV+RbVISk4pjlZdRcK5EQ5hciBFGtgGwIDAQAB";
// return PicaResponse.toResponse(rsaPublicKey);
return PicaResponse.toResponse(rsaPublicKey); //
} }
......
package com.pica.cloud.account.account.server.controller; package com.pica.cloud.account.account.server.controller;
import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.server.entity.*; import com.pica.cloud.account.account.server.entity.*;
import com.pica.cloud.account.account.server.entity.AesBean.AesAuthCodeReq;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum; import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
import com.pica.cloud.account.account.server.enums.SourceTypeEnum; import com.pica.cloud.account.account.server.enums.SourceTypeEnum;
...@@ -14,6 +16,7 @@ import com.pica.cloud.account.account.server.service.LoginService; ...@@ -14,6 +16,7 @@ import com.pica.cloud.account.account.server.service.LoginService;
import com.pica.cloud.account.account.server.service.TokenService; import com.pica.cloud.account.account.server.service.TokenService;
import com.pica.cloud.account.account.server.util.AccountUtils; import com.pica.cloud.account.account.server.util.AccountUtils;
import com.pica.cloud.account.account.server.util.CryptoUtil; import com.pica.cloud.account.account.server.util.CryptoUtil;
import com.pica.cloud.account.account.server.util.RSAUtil;
import com.pica.cloud.foundation.entity.PicaResponse; import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaWarnException; import com.pica.cloud.foundation.entity.PicaWarnException;
import com.pica.cloud.foundation.redis.CacheClient; import com.pica.cloud.foundation.redis.CacheClient;
...@@ -219,7 +222,30 @@ public class LoginController extends AccountBaseController { ...@@ -219,7 +222,30 @@ public class LoginController extends AccountBaseController {
@ApiOperation(value = "统一校验(传空则不会校验)") @ApiOperation(value = "统一校验(传空则不会校验)")
@PostMapping("/unifiedVerification") @PostMapping("/unifiedVerification")
public PicaResponse unifiedVerification(@RequestBody EncryptEntity entity) throws Exception{ public PicaResponse unifiedVerification(@RequestBody AesAuthCodeReq req) throws Exception{
//added by joy begin
EncryptEntity entity = new EncryptEntity();
if(StringUtils.isEmpty(req.getKey()) && StringUtils.isEmpty(req.getContent())){
//明文时处理
entity = RSAUtil.getAuthCodeEncrypt(req);
logger.info("AesAuthCodeReq unifiedVerification:" + JSONObject.toJSONString(req));
logger.info("AesAuthCodeReq unifiedVerification encrypt:" + JSONObject.toJSONString(entity));
//个别报错数据记流水
LogLoginAes loginAes = new LogLoginAes();
loginAes.setChannel(2);
loginAes.setDeviceToken(req.getDevice_token());
loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType());
loginAes.setMobile(req.getMobile());
loginAes.setDeviceInfo(super.getDeviceInfo("deviceinfo"));
loginService.insertLoginAesLog(loginAes);
}else {
//执行原逻辑
entity.setKey(req.getKey());
entity.setContent(req.getContent());
}
//added by joy end
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class); BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setSourceType(super.getSourceType()); request.setSourceType(super.getSourceType());
loginService.preLoginValidate(request); loginService.preLoginValidate(request);
...@@ -251,7 +277,31 @@ public class LoginController extends AccountBaseController { ...@@ -251,7 +277,31 @@ public class LoginController extends AccountBaseController {
@ApiOperation(value = "app端手机号码一键登录") @ApiOperation(value = "app端手机号码一键登录")
@PostMapping("/login/one-click") @PostMapping("/login/one-click")
public PicaResponse<LoginResult> oneClickLogin(@RequestBody EncryptEntity entity) throws Exception { public PicaResponse<LoginResult> oneClickLogin(@RequestBody AesAuthCodeReq aesReq) throws Exception {
//added by joy begin
EncryptEntity entity = new EncryptEntity();
if(StringUtils.isEmpty(aesReq.getKey()) && StringUtils.isEmpty(aesReq.getContent())){
//明文时处理
entity = RSAUtil.getOneClickEncrypt(aesReq);
logger.info("AesAuthCodeReq oneClickLogin:" + JSONObject.toJSONString(aesReq));
logger.info("AesAuthCodeReq oneClickLogin encrypt:" + JSONObject.toJSONString(entity));
//个别报错数据记流水
LogLoginAes loginAes = new LogLoginAes();
loginAes.setChannel(3);
loginAes.setDeviceToken(aesReq.getDevice_token());
loginAes.setSourceType(null == super.getSourceType() ? 0 : super.getSourceType());
loginAes.setOneToken(aesReq.getToken());
loginAes.setMobile(aesReq.getMobile());
loginAes.setDeviceInfo(super.getDeviceInfo("deviceinfo"));
loginService.insertLoginAesLog(loginAes);
}else {
//执行原逻辑
entity.setKey(aesReq.getKey());
entity.setContent(aesReq.getContent());
}
//added by joy end
OneClickLoginReq req = CryptoUtil.decrypt(entity, OneClickLoginReq.class); OneClickLoginReq req = CryptoUtil.decrypt(entity, OneClickLoginReq.class);
req.setProductType(super.getProductType()); req.setProductType(super.getProductType());
req.setSourceType(super.getSourceType()); req.setSourceType(super.getSourceType());
......
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.entity.AesBean;
/**
* @ClassName AesAuthCodeReq
* @Description TODO
* @Author peijun.zhao
* @Date 2020/4/21 18:33
* @ModifyDate 2020/4/21 18:33
* @Version 1.0
*/
public class AesAuthCodeReq {
private Integer bizType;
private String device_token;
private String mobile;
private Integer flag;
private String token;
/**
* 加密后的密文
*/
private String key;
/**
* 加密后的数据
*/
private String content;
public Integer getBizType() {
return bizType;
}
public void setBizType(Integer bizType) {
this.bizType = bizType;
}
public String getDevice_token() {
return device_token;
}
public void setDevice_token(String device_token) {
this.device_token = device_token;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public Integer getFlag() {
return flag;
}
public void setFlag(Integer flag) {
this.flag = flag;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
}
package com.pica.cloud.account.account.server.service; package com.pica.cloud.account.account.server.service;
import com.pica.cloud.account.account.server.entity.LogLoginAes;
import com.pica.cloud.account.account.server.entity.LoginResult; import com.pica.cloud.account.account.server.entity.LoginResult;
import com.pica.cloud.account.account.server.entity.PICAPDoctor; import com.pica.cloud.account.account.server.entity.PICAPDoctor;
import com.pica.cloud.account.account.server.req.BaseRequest; import com.pica.cloud.account.account.server.req.BaseRequest;
...@@ -91,4 +92,6 @@ public interface LoginService { ...@@ -91,4 +92,6 @@ public interface LoginService {
* @Return com.pica.cloud.account.account.server.entity.LoginResult * @Return com.pica.cloud.account.account.server.entity.LoginResult
*/ */
LoginResult loginByAppleStep(BaseRequest request); LoginResult loginByAppleStep(BaseRequest request);
int insertLoginAesLog(LogLoginAes aes);
} }
...@@ -91,6 +91,9 @@ public class LoginServiceImpl implements LoginService { ...@@ -91,6 +91,9 @@ public class LoginServiceImpl implements LoginService {
@Autowired @Autowired
private OneClickProcessor oneClickProcessor; private OneClickProcessor oneClickProcessor;
@Autowired
private LogLoginAesMapper logLoginAesMapper;
@Value("${doubleWritingMode}") @Value("${doubleWritingMode}")
private boolean doubleWritingMode; private boolean doubleWritingMode;
...@@ -906,4 +909,23 @@ public class LoginServiceImpl implements LoginService { ...@@ -906,4 +909,23 @@ public class LoginServiceImpl implements LoginService {
accountUnionMapper.insertSelective(accountUnionEntity); accountUnionMapper.insertSelective(accountUnionEntity);
} }
/**
* @Description TODO
* @Author peijun.zhao
* @Date 2020/4/22 17:14
* @ModifyDate 2020/4/22 17:14
* @Params [aes]
* @Return int
*/
@Override
public int insertLoginAesLog(LogLoginAes aes){
aes.setDeleteFlag(1);
aes.setCreateId(999999);
aes.setModifyId(999999);
aes.setCreateTime(new Date());
aes.setModifyTime(new Date());
return logLoginAesMapper.insert(aes);
}
} }
package com.pica.cloud.account.account.server.util; package com.pica.cloud.account.account.server.util;
import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.server.entity.AesBean.AesAuthCodeReq;
import com.pica.cloud.account.account.server.entity.EncryptEntity;
import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.req.OneClickLoginReq;
import org.apache.tomcat.util.codec.binary.Base64; import org.apache.tomcat.util.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -36,6 +41,11 @@ public class RSAUtil { ...@@ -36,6 +41,11 @@ public class RSAUtil {
public void init() { public void init() {
RSAUtil.rsaprivatekey = rsaprivatekeyTemp; RSAUtil.rsaprivatekey = rsaprivatekeyTemp;
RSAUtil.rsapublickey = rsapublickeyTemp; RSAUtil.rsapublickey = rsapublickeyTemp;
// prd 配置
// RSAUtil.rsapublickey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnVzDlG6DJBwTsn7jFriKOmzqfm+d4vy6DtKqMfrEPg6hU3bfbR9XRfwqAFrS4+QowybpuyWCa7DFyKl0JyEa/GSrfjbXSpalFHhmWH0z0hCF1m/UvlPA0BaiYFy9ucXF9Uh8RaHkZGVmV+RbVISk4pjlZdRcK5EQ5hciBFGtgGwIDAQAB";
// RSAUtil.rsaprivatekey = "MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAKdXMOUboMkHBOyfuMWuIo6bOp+b53i/LoO0qox+sQ+DqFTdt9tH1dF/CoAWtLj5CjDJum7JYJrsMXIqXQnIRr8ZKt+NtdKlqUUeGZYfTPSEIXWb9S+U8DQFqJgXL25xcX1SHxFoeRkZWZX5FtUhKTimOVl1FwrkRDmFyIEUa2AbAgMBAAECgYEAlEZHxtoiL74OePRVrqNLb3zQBxkHkxAj0QPGktK3ZP3Nq9UB0kTmisi8rx5vZ+8TPoOgtAWvmdZrQbOT2NUjCUYKkGS+Wi1fXpP0Az2UJwDIQK4aQTZtNbM04f3Rmi5i24eASmSdl1svjHEv0YS6IC6sR1cbElZs94uDFshUeqECQQDTrmZda8fo6ZNsHVYWcjTwr8JKTIgjaD/hPi0JP6hhL0GVEAVwb2rsfJf5o2TR5RsNT8ANUYgFPRaAymLLe+5zAkEAymA9V55K6IJhnSp7HmWfGVmxvTrwZFJIzPv7DLi/RAS3yFPfTpyJGLirAnBQfKO/vwjxhAuwD21aDYHMTrj1uQJBAJdAikw+cz1tiLU70QOA32sLaxyDytLh7qMXNj7hiYLHrWjBZeGM+y23aTArHCMOPWIpleTuWO7FU4r7EdSr3RkCQQCliu4CwyhRY33H210U81memgFLYnAMEEce7qxgrqs+T4Gqa/lJy8BVqZGxkAA2xJfwA7fUJN9i7zdvvxJJ/wB5AkA+OKfnTXTp8qF4lZiVMrGl3d5sgg87q1DhC5XruviH6a3u6JOLlRNQy2+TGxzWMYaJ1RwEfygqBYOgyvoqNR3Q";
} }
/** /**
...@@ -172,6 +182,60 @@ public class RSAUtil { ...@@ -172,6 +182,60 @@ public class RSAUtil {
return new String(decryptedData); return new String(decryptedData);
} }
// 获取验证码-加密
public static EncryptEntity getAuthCodeEncrypt(AesAuthCodeReq req){
BaseRequest authCode = new BaseRequest();
authCode.setFlag(req.getFlag() == null ? 0 : req.getFlag());
authCode.setMobile(req.getMobile());
authCode.setDevice_token(req.getDevice_token());
authCode.setBizType(req.getBizType());
String authCodeStr = JSONObject.toJSONString(authCode);
// System.out.println(authCodeStr);
String contentResult = null;
try {
contentResult = AESUtil.aesEncrypt(authCodeStr, "YCPQPx4qpQjEjDea");
} catch (Exception e) {
e.printStackTrace();
}
String keyResult = null;
try {
keyResult = RSAUtil.encrypt("YCPQPx4qpQjEjDea",rsapublickey);
} catch (Exception e) {
e.printStackTrace();
}
EncryptEntity encryptTest = new EncryptEntity();
encryptTest.setContent(contentResult);
encryptTest.setKey(keyResult);
return encryptTest;
// System.out.println(JSONObject.toJSONString(encryptTest2));
}
// oneclick-加密
public static EncryptEntity getOneClickEncrypt(AesAuthCodeReq req){
OneClickLoginReq oneReq = new OneClickLoginReq();
oneReq.setToken(req.getToken());
String authCodeStr = JSONObject.toJSONString(oneReq);
// System.out.println(authCodeStr);
String contentResult = null;
try {
contentResult = AESUtil.aesEncrypt(authCodeStr, "YCPQPx4qpQjEjDea");
} catch (Exception e) {
e.printStackTrace();
}
String keyResult = null;
try {
keyResult = RSAUtil.encrypt("YCPQPx4qpQjEjDea",rsapublickey);
} catch (Exception e) {
e.printStackTrace();
}
EncryptEntity encryptTest = new EncryptEntity();
encryptTest.setContent(contentResult);
encryptTest.setKey(keyResult);
return encryptTest;
}
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
//生成公钥和私钥 //生成公钥和私钥
// genKeyPair(); // genKeyPair();
...@@ -187,12 +251,16 @@ public class RSAUtil { ...@@ -187,12 +251,16 @@ public class RSAUtil {
// System.out.println("还原后的字符串为:" + messageDe); // System.out.println("还原后的字符串为:" + messageDe);
genKeyPair(); genKeyPair();
String s = keyMap.get(0); String publicKey = keyMap.get(0);
System.out.println(s); System.out.println(publicKey);
String s1 = keyMap.get(1); String privateKey = keyMap.get(1);
System.out.println(s1); System.out.println(privateKey);
String messageEn = encrypt("{\"bizType\":1,\"device_token\":\"120c83f760bd0420c78\",\"mobile\":\"17868481983\",\"flag\":0}", publicKey);
System.out.println(messageEn);
String key1 = ""; String encryptMsg = "{\"key\":\"n2MyzrptkOsYE5c0lDn+5HU8x22DJTT49uad0+zeTt4Nj6RDrv3mJzKcc8LweYF5D7i4o812h9Gwn4drGJP+9Y8UOLNNRMx4+Au/V3TqOQFjve4jfUV8aewJK9Mildvsdk71ITe4YWd+8pQjuaQ4EkgAziFWEEuKiNnTEZjO8mE=\",\"content\":\"IRwE4SYrDk5RVpyycJy86n8Bu85FuQWt0Xb6wW+ITKObah0pkxKym+xwRwHMwMm5+UPmqNYhLsu5Dt39N14ZduwNDbktRaoAzvU6BHkdX4bWbkrPB7tw71J9k9zy7O/zaAzgo3SLUlj/xWB3KuOKcg==\"}";
System.out.println(decrypt(encryptMsg,privateKey));
String key2 = ""; String key2 = "";
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册