加密解密

parent 48fad78c
......@@ -12,8 +12,10 @@ import cn.quantgroup.xyqb.service.user.IUserQueryLogService;
import cn.quantgroup.xyqb.util.IdcardValidator;
import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.util.encrypt.MD5Util;
import cn.quantgroup.xyqb.util.encrypt.RSA;
import com.alibaba.fastjson.JSON;
import com.google.gson.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -61,8 +63,9 @@ public class UserQueryLogController {
@Autowired
private IHttpService httpService;
private static final String="publicKey=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYiw1PKWnCbkKyzHK+blHpKTR/qtO3Oq7nvjSdcopCSmOJqji3B+qJMrf03242mYJIQeF3YSTQZTfri5EkNgoqn0Y/KYpLAKuq89jPdIkB3lvirvew9tpfbAT4B14WgoWdMH5ooqBt0ly3f+JjoBM5dKFTOrhckhFDoaB3UAaaiQIDAQAB";
private static final String publicKey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYiw1PKWnCbkKyzHK+blHpKTR/qtO3Oq7nvjSdcopCSmOJqji3B+qJMrf03242mYJIQeF3YSTQZTfri5EkNgoqn0Y/KYpLAKuq89jPdIkB3lvirvew9tpfbAT4B14WgoWdMH5ooqBt0ly3f+JjoBM5dKFTOrhckhFDoaB3UAaaiQIDAQAB";
private static final String privateKey="MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJiLDU8pacJuQrLMcr5uUekpNH+q07c6rue+NJ1yikJKY4mqOLcH6okyt/TfbjaZgkhB4XdhJNBlN+uLkSQ2CiqfRj8piksAq6rz2M90iQHeW+Ku97D22l9sBPgHXhaChZ0wfmiioG3SXLd/4mOgEzl0oVM6uFySEUOhoHdQBpqJAgMBAAECgYA3DfCWwoaWEr9l0p4TFrPfZ+y3qwrQVZCsuRw6Ow2lUT3NgK8JeATw0WpNKZqYgBziQUzDjj8AK5fcHjobDJnsKGqC2VQ+j05hQZztoHTrYxOx6xrGxIzqmbt/dPsw779xXSRJu3DuUeCm6CrGZpVpPX/NtXBxIhXRY2KRNa1SZQJBAPMboc+M6/OeGPQqFvXg9jgEWcosBpy6HtukfjONQAVuM5e0pZa8SQCLhcoHgbbqcEhbDAJEqr9x9eZjjFPSt08CQQCgoe/hOVf0s5oo1IM1TVEUkGOIzVVlyTMwu0p4jwt3987D7BKZe7mCl41quWDwL4JIQ0GcivVMpJzYsDBZHRqnAkBMgCKAHHlXdSWnF+OXxg3U/NGAhDAke5EgTvgDouxFiTMlBwygjWlviXg1Zf1UoRtqOXRi9lbA3cyijirnacSTAkBmve0ug30MmOvbfcHGkANyQcBIOf2LMxu46bKCVgwh2bC4hACJhydqrgDX6GZmehy8l7gZpo+rTAa+WkMyXHk1AkEArt6ElkyNI7TDu0By59Zin05tuZJr6QoMXs9bVH+xP3OBG1KfPYTBc9yb5MOjXIxAjyGGeDpUfhuUDBe56GTOBA==";
@RequestMapping("/queryLog")
public JsonResult queryLog(@RequestParam(required=false) String beginDate,@RequestParam(required=false) String endDate, Integer pageId, Integer pageSize) {
......@@ -115,7 +118,10 @@ public class UserQueryLogController {
List<UserQueryInfo> userQueryInfos=new ArrayList<UserQueryInfo>();
List<UserDetail> userDetails=new ArrayList<UserDetail>();
Page<UserDetail> userDetailPage=null;
List<Address> addresslist=new ArrayList<Address>();
HashMap<String,String> phonesCards=new HashMap<String,String>();
if(key.equals("userId")){
List<Long> userIds=new ArrayList<Long>();
try{
......@@ -156,6 +162,17 @@ public class UserQueryLogController {
if(columns.contains("bankCard")){
//需加银行卡信息
if(key.equals("phoneNo")){
phonesCards=getBankCardsByPhoneNos(queryV);
}else{
List<String> phones=new ArrayList<String>();
for(UserDetail uda:userDetails){
phones.add(uda.getPhoneNo());
}
phonesCards=getBankCardsByPhoneNos(phones);
}
}
if(columns.contains("address")){
......@@ -187,6 +204,10 @@ public class UserQueryLogController {
uqi.setAddress(oad.get().toString());
}
}
if(columns.contains("bankCard")){
uqi.setBankCards(phonesCards.get(ud.getPhoneNo()));
}
userQueryInfos.add(uqi);
}
......@@ -194,7 +215,7 @@ public class UserQueryLogController {
//保存记录
UserQueryLog log=new UserQueryLog();
log.setQueryItems(columns);
log.setResultAmount(Long.valueOf(userQueryInfos.size()));
log.setResultAmount(Long.valueOf(userDetailPage.getTotalPages()));
log.setQueryCondition(key);
log.setQueryDetail(keyValues);
log.setLoginUserName(userName);
......@@ -215,20 +236,51 @@ public class UserQueryLogController {
return JsonResult.buildSuccessResult("查询成功",uqi);
}
private String getBankCardsByPhoneNos(List<String> phoneNos){
String phoneNoStr= JSON.toJSONString(phoneNos);
RSA.encrypt(phoneNoStr,);
private HashMap<String,String> getBankCardsByPhoneNos(List<String> phoneNos){
//String phoneNoStr= JSON.toJSONString(phoneNos);
String phoneNoStr= new Gson().toJson(phoneNos);
String data="";
String sign="";
try{
data=RSA.encrypt(phoneNoStr,publicKey);
sign= MD5Util.build(data);
}catch(Exception e){
return null;
}
HashMap<String,String> phonesMap=new HashMap<String,String>();
HashMap<String, String> parameters = new HashMap<>();
parameters.put("data", "");
parameters.put("sign", "");
parameters.put("data", data);
parameters.put("sign", sign);
//访问用户中心查询用户银行卡接口
String resultStr = httpService.post(payCenterUrl + "/ex/search/card_list", parameters);
StringBuffer cardList=null;
return cardList.toString();
try{
JsonObject obj = new JsonParser().parse(resultStr).getAsJsonObject();
if(obj.get("data")!=null) {
JsonObject data1 = obj.get("data").getAsJsonObject();
String dataStr=data1.get("data").getAsString();
String signStr=data1.get("sign").getAsString();
//校验签名
if(RSA.checkSign(dataStr,signStr,publicKey)){
String jsonDataStr=RSA.decrypt(dataStr,privateKey);
JsonArray listObj = new JsonParser().parse(jsonDataStr).getAsJsonArray();//.getAsJsonObject();
for(JsonElement jsonElement : listObj) {
JsonObject jo = jsonElement.getAsJsonObject();
JsonArray cardList = jo.get("cardList").getAsJsonArray();
String phone = jo.get("phone").getAsString();
String cards="";
for(JsonElement element : cardList){
cards=cards+element.getAsString()+",";
}
phonesMap.put(phone,cards);
}
}
}
}catch(Exception e){
}
return phonesMap;
}
@RequestMapping("/exportUserInfo")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment