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

魔法值修复---第二批

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