Commit 2f760545 authored by 技术部-任文超's avatar 技术部-任文超

魔法值修复---第二批

parent 63c9a97c
......@@ -29,8 +29,12 @@ public interface Constants {
int THOUSAND_SECOND = 1000;
int MILLIS_PER_SECOND = 1000;
int MILLIS_OF_TEN_SECOND = 10000;
int HTTP_CODE_200 = 200;
int PAGE_SIZE_MAX = 200;
int PAGE_SIZE_MIN = 30;
/** 垃圾,前辈竟然用这个办法来识别UUID */
int UUID_MIN_LENGTH = 10;
String AUTO_SORT_TYPE = "auto";
String CHECK_FAIL = "fail";
String SPLIT_CHAR = ":";
String TOKEN_MASTER = "*";
......@@ -46,6 +50,9 @@ public interface Constants {
*/
String WECHAT_OPEN_ID = "wechat_open_id";
String PASSWORD = "password";
String RESULT_CODE = "code";
String RESULT_DATA = "data";
String SUCCESS_CODE = "0000";
// -- Start -- IPV4安全策略常量组
/**
......
......@@ -54,7 +54,7 @@ public class ImageCaptchaController {
boolean write = ImageIO.write(challenge, IMAGE_FORMAT_PNG, jpegOutputStream);
} catch (IOException e) {
e.printStackTrace();
return JsonResult.buildErrorStateResult("", "fail");
return JsonResult.buildErrorStateResult("", Constants.CHECK_FAIL);
}
String imageBase64 = Base64.encodeBase64String(jpegOutputStream.toByteArray());
......
......@@ -338,7 +338,7 @@ public class SmsController implements IBaseController {
case 6:
return "000000";
default:
return "0000";
return Constants.SUCCESS_CODE;
}
}
......
......@@ -8,6 +8,7 @@ import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.quantgroup.xyqb.util.encrypt.Rsa;
import org.apache.poi.hssf.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -36,8 +37,7 @@ import cn.quantgroup.xyqb.service.user.IUserDetailService;
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 cn.quantgroup.xyqb.util.encrypt.Md5Util;
/**
* Created by zenglibin on 17/06/13.
......@@ -105,9 +105,9 @@ public class UserQueryLogController {
PageModel<UserQueryLog> uqp = new PageModel<>();
uqp.setTotal(total);
if (pageSize == 0 || pageSize < 0) {
pageSize = 30;
} else if (pageSize > 200) {
pageSize = 200;
pageSize = Constants.PAGE_SIZE_MIN;
} else if (pageSize > Constants.PAGE_SIZE_MAX) {
pageSize = Constants.PAGE_SIZE_MAX;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
......@@ -164,9 +164,9 @@ public class UserQueryLogController {
List<Address> addresslist = new ArrayList<>();
HashMap<String, String> phonesCards = new HashMap<>();
if (pageSize == 0 || pageSize < 0) {
pageSize = 30;
} else if (pageSize > 200) {
pageSize = 200;
pageSize = Constants.PAGE_SIZE_MIN;
} else if (pageSize > Constants.PAGE_SIZE_MAX) {
pageSize = Constants.PAGE_SIZE_MAX;
}
//如果维度里面没有保护查询条件则加入条件
if (!columns.contains(key)) {
......@@ -283,8 +283,8 @@ public class UserQueryLogController {
String sign = "";
HashMap<String, String> phonesMap = new HashMap<>();
try {
data = RSA.encrypt(phoneNoStr, PUBLIC_KEY);
sign = MD5Util.build(data);
data = Rsa.encrypt(phoneNoStr, PUBLIC_KEY);
sign = Md5Util.build(data);
} catch (Exception e) {
LOGGER.info("参数加密异常");
phonesMap.put("errorMsg", "参数加密异常");
......@@ -293,19 +293,19 @@ public class UserQueryLogController {
HashMap<String, String> parameters = new HashMap<>();
parameters.put("data", data);
parameters.put(Constants.RESULT_DATA, data);
parameters.put("sign", sign);
//访问用户中心查询用户银行卡接口
String resultStr = httpService.post(payCenterUrl + "/ex/search/card_list", parameters);
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();
if (obj.get(Constants.RESULT_DATA) != null) {
JsonObject data1 = obj.get(Constants.RESULT_DATA).getAsJsonObject();
String dataStr = data1.get(Constants.RESULT_DATA).getAsString();
String signStr = data1.get("sign").getAsString();
//校验签名
if (MD5Util.build(dataStr).equals(signStr)) {
String jsonDataStr = RSA.decrypt(dataStr, PRIVATE_KEY);
if (Md5Util.build(dataStr).equals(signStr)) {
String jsonDataStr = Rsa.decrypt(dataStr, PRIVATE_KEY);
JsonArray listObj = new JsonParser().parse(jsonDataStr).getAsJsonArray();
for (JsonElement jsonElement : listObj) {
JsonObject jo = jsonElement.getAsJsonObject();
......@@ -544,8 +544,8 @@ public class UserQueryLogController {
String resultStr = httpService.post(yunyingUrl + "/user/info", parameters);
try {
JsonObject resultUser = new JsonParser().parse(resultStr).getAsJsonObject();
if (Objects.equals("0000", resultUser.get("code").getAsString()) && resultUser.get("data").getAsJsonObject() != null) {
String userName = resultUser.get("data").getAsJsonObject().get("user").getAsString();
if (Objects.equals(Constants.SUCCESS_CODE, resultUser.get(Constants.RESULT_CODE).getAsString()) && resultUser.get(Constants.RESULT_DATA).getAsJsonObject() != null) {
String userName = resultUser.get(Constants.RESULT_DATA).getAsJsonObject().get("user").getAsString();
return userName;
}
} catch (Exception e) {
......
......@@ -20,7 +20,7 @@ import cn.quantgroup.xyqb.service.user.*;
import cn.quantgroup.xyqb.service.user.vo.UserDetailVO;
import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.util.*;
import cn.quantgroup.xyqb.util.encrypt.MD5Util;
import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import cn.quantgroup.xyqb.validator.ChineseName;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
......@@ -369,7 +369,7 @@ public class InnerController implements IBaseController {
}
Optional<UserFullInfo> userFullInfoOptional = userApiService.getUserFullInfoByPhone(phoneNo);
if (!userFullInfoOptional.isPresent()) {
log.warn("[findUserFullInfoByPhone]没有用户信息,phoneNo={}", MD5Util.build(phoneNo));
log.warn("[findUserFullInfoByPhone]没有用户信息,phoneNo={}", Md5Util.build(phoneNo));
return JsonResult.buildErrorStateResult(null, null);
}
return JsonResult.buildSuccessResult(null, userFullInfoOptional.get());
......
......@@ -3,7 +3,7 @@ package cn.quantgroup.xyqb.event;
import cn.quantgroup.xyqb.entity.UserHashMapping;
import cn.quantgroup.xyqb.model.UserRegisterParam;
import cn.quantgroup.xyqb.repository.IUserHashMappingRepository;
import cn.quantgroup.xyqb.util.encrypt.MD5Util;
import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -35,14 +35,14 @@ public class PhoneHashEventListener implements ApplicationListener<RegisterEvent
userHashMapping = new UserHashMapping(userId);
}
//无论如何都更新手机号
String phoneNoMd5 = MD5Util.build(phoneNo);
String phoneNoMd5 = Md5Util.build(phoneNo);
userHashMapping.setPhoneNoMd5(phoneNoMd5);
String idNo = userRegisterParam.getIdNo();
//如果有身份证号. 更新一下
if (StringUtils.isNotEmpty(idNo)) {
idNo = idNo.toUpperCase();
userHashMapping.setIdNoMd5(MD5Util.build(idNo));
userHashMapping.setIdNoMd5(Md5Util.build(idNo));
}
try {
......
......@@ -3,7 +3,7 @@ package cn.quantgroup.xyqb.event;
import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.entity.UserHashMapping;
import cn.quantgroup.xyqb.repository.IUserHashMappingRepository;
import cn.quantgroup.xyqb.util.encrypt.MD5Util;
import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -34,14 +34,14 @@ public class UserDetailHashEventListener implements ApplicationListener<UserDeta
if (userHashMapping == null) {
userHashMapping = new UserHashMapping(userDetail.getUserId());
String phoneNo = userDetail.getPhoneNo();
userHashMapping.setPhoneNoMd5(MD5Util.build(phoneNo));
userHashMapping.setPhoneNoMd5(Md5Util.build(phoneNo));
}
String idNoMd5 = userHashMapping.getIdNoMd5();
String idNo = userDetail.getIdNo().toUpperCase();
String idNoMd5New = MD5Util.build(idNo);
String idNoMd5New = Md5Util.build(idNo);
//新旧相同, 直接跳过
if (StringUtils.equals(idNoMd5, idNoMd5New)) {
......
......@@ -25,10 +25,10 @@ public class JsonResult<T> implements Serializable {
private String msg = "";
// 0成功,1失败
private String code = "0000";
private String code = Constants.SUCCESS_CODE;
// 业务错误码
private String businessCode = "0000";
private String businessCode = Constants.SUCCESS_CODE;
private T data = null;
......
package cn.quantgroup.xyqb.service.captcha;
import cn.quantgroup.xyqb.Constants;
import lombok.extern.slf4j.Slf4j;
import org.json.JSONException;
import org.json.JSONObject;
......@@ -22,6 +23,7 @@ import java.util.Objects;
*/
@Slf4j
public class GeetestLib {
protected static final int SUCCESS_CHALLENGE_LENGTH = 32;
protected final String verName = "4.0";
......@@ -147,7 +149,7 @@ public class GeetestLib {
gtlog("GET_URL:" + getUrl + param);
String result_str = readContentFromGet(getUrl + param);
if (Objects.equals(result_str, "fail")) {
if (Objects.equals(result_str, Constants.CHECK_FAIL)) {
gtlog("gtServer register challenge failed");
return 0;
......@@ -160,7 +162,7 @@ public class GeetestLib {
gtlog("return_challenge:" + return_challenge);
if (return_challenge.length() == 32) {
if (return_challenge.length() == SUCCESS_CHALLENGE_LENGTH) {
this.responseStr = this.getSuccessPreProcessRes(this.md5Encode(return_challenge + this.privateKey));
......@@ -351,7 +353,7 @@ public class GeetestLib {
// 建立与服务器的连接,并未发送数据
connection.connect();
if (connection.getResponseCode() == 200) {
if (connection.getResponseCode() == Constants.HTTP_CODE_200) {
// 发送数据到服务器并使用Reader读取返回的数据
StringBuilder sBuffer = new StringBuilder();
......@@ -367,7 +369,7 @@ public class GeetestLib {
return sBuffer.toString();
} else {
return "fail";
return Constants.CHECK_FAIL;
}
}
......@@ -401,7 +403,7 @@ public class GeetestLib {
outputStreamWriter.flush();
outputStreamWriter.close();
if (connection.getResponseCode() == 200) {
if (connection.getResponseCode() == Constants.HTTP_CODE_200) {
// 发送数据到服务器并使用Reader读取返回的数据
StringBuilder sBuffer = new StringBuilder();
......@@ -417,7 +419,7 @@ public class GeetestLib {
return sBuffer.toString();
} else {
return "fail";
return Constants.CHECK_FAIL;
}
}
......
......@@ -19,7 +19,7 @@ import org.springframework.stereotype.Component;
*/
@Aspect
@Component
@Order(value = Ordered.HIGHEST_PRECEDENCE + 200)
@Order(value = Ordered.HIGHEST_PRECEDENCE)
public class UserBtRegisterFillAspect {
private static final Logger LOGGER = LoggerFactory.getLogger(UserBtRegisterFillAspect.class);
......
......@@ -54,7 +54,7 @@ public class LkbUserviceImpl implements ILkbUserService {
}
String response = httpService.post(clientUrl + "/user/push.json", parameters);
Optional<Map> resultOptional = JsonUtil.fromJson(response, Map.class);
if (!resultOptional.isPresent() || !"0000".equals(resultOptional.get().get("code"))) {
if (!resultOptional.isPresent() || !Constants.SUCCESS_CODE.equals(resultOptional.get().get(Constants.RESULT_CODE))) {
LOGGER.error("[lkb_user_push]向LKB同步用户失败,phoneNo:{},response={}", phoneNo, response);
return false;
}
......
......@@ -180,7 +180,7 @@ public class UserDetailServiceImpl implements IUserDetailService {
private PageRequest buildPageRequest(int pageNumber, int pagzSize, String sortType) {
Sort sort = null;
if ("auto".equals(sortType)) {
if (Constants.AUTO_SORT_TYPE.equals(sortType)) {
sort = new Sort(Sort.Direction.ASC, "userId");
}
......
package cn.quantgroup.xyqb.util;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.util.encrypt.MD5Util;
import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
......@@ -180,7 +180,7 @@ public class ValidationUtil {
public static String getMd5Key(boolean lock) {
Calendar today = Calendar.getInstance();
int hour_24 = today.get(Calendar.HOUR_OF_DAY);
return MD5Util.build(Constants.CLEAR_LOCK_FOR_IPV4_KEY + lock + hour_24);
return Md5Util.build(Constants.CLEAR_LOCK_FOR_IPV4_KEY + lock + hour_24);
}
}
......@@ -9,8 +9,8 @@ import java.security.NoSuchAlgorithmException;
/**
* Created by tums on 2015/11/30.
*/
public final class MD5Util {
private static final Logger LOGGER = LoggerFactory.getLogger(MD5Util.class);
public final class Md5Util {
private static final Logger LOGGER = LoggerFactory.getLogger(Md5Util.class);
public static String build(String content) {
MessageDigest messageDigest;
......
......@@ -10,14 +10,14 @@ import java.security.spec.X509EncodedKeySpec;
import java.util.HashMap;
import java.util.Map;
public class RSA {
public class Rsa {
/**
* 指定key的大小
*/
private static int KEYSIZE = 1024;
public static final String CHAR_ENCODING = "UTF-8";
public static final String RSA_ALGORITHM = "RSA/ECB/PKCS1Padding";
public static final String RSA_ALGORITHM = "Rsa/ECB/PKCS1Padding";
/** */
/**
......@@ -38,7 +38,7 @@ public class RSA {
/** RSA算法要求有一个可信任的随机数源 */
SecureRandom sr = new SecureRandom();
/** 为RSA算法创建一个KeyPairGenerator对象 */
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
KeyPairGenerator kpg = KeyPairGenerator.getInstance("Rsa");
/** 利用上面的随机数据源初始化这个KeyPairGenerator对象 */
kpg.initialize(KEYSIZE, sr);
/** 生成密匙对 */
......@@ -140,7 +140,7 @@ public class RSA {
public static PublicKey getPublicKey(String key) throws Exception {
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(
Base64.decodeBase64(key.getBytes()));
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
KeyFactory keyFactory = KeyFactory.getInstance("Rsa");
PublicKey publicKey = keyFactory.generatePublic(keySpec);
return publicKey;
}
......@@ -154,7 +154,7 @@ public class RSA {
public static PrivateKey getPrivateKey(String key) throws Exception {
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(
Base64.decodeBase64(key.getBytes()));
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
KeyFactory keyFactory = KeyFactory.getInstance("Rsa");
PrivateKey privateKey = keyFactory.generatePrivate(keySpec);
return privateKey;
}
......@@ -164,7 +164,7 @@ public class RSA {
try {
PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(
Base64.decodeBase64(privateKey.getBytes()));
KeyFactory keyf = KeyFactory.getInstance("RSA");
KeyFactory keyf = KeyFactory.getInstance("Rsa");
PrivateKey priKey = keyf.generatePrivate(priPKCS8);
Signature signature = Signature.getInstance("SHA1WithRSA");
......@@ -184,7 +184,7 @@ public class RSA {
public static boolean checkSign(String content, String sign, String publicKey) {
try {
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
KeyFactory keyFactory = KeyFactory.getInstance("Rsa");
byte[] encodedKey = Base64.decode2(publicKey);
PublicKey pubKey = keyFactory.generatePublic(new X509EncodedKeySpec(encodedKey));
......
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