public class UrlUtil { public static String getUrl(String urlName) { return IP + urlName; } public static String upLoadUrl(String urlName) { return IP2 + urlName; } public static String PAGESIZE = "20"; public static String KEY = "XDR56YHN"; public static String TICKET = ""; /*** post发送的加密的对象 * @param userid 私钥加密 * @param object 要加密的对象 * @return String 要发送的数据 */ @NonNull public static String needPostString(Object object, String userid) { String encryptKey; if (IsEmptyUtil.isNullOrEmpty(userid)) { encryptKey = KEY; } else { encryptKey = userid.substring(14, 22).toString(); } String jsonString = JSON.toJSONString(object); if (!IsEmptyUtil.isNullOrEmpty(encryptKey)) { String encryptData = encryptData(encryptKey, jsonString); return JSON.toJSONString(new ResultJson(encryptData)); } else { return "KEY_NULL"; } } /*** post发送的加密的对象 * @param userid 私钥加密 * @param jsonString 要加密的jsonString * @return String 要发送的数据 */ @NonNull public static String needPostString(String jsonString, String userid) { String encryptKey; if (IsEmptyUtil.isNullOrEmpty(userid)) { encryptKey = KEY; } else { encryptKey = userid.substring(14, 22).toString(); } if (!IsEmptyUtil.isNullOrEmpty(encryptKey)) { String encryptData = encryptData(encryptKey, jsonString); return JSON.toJSONString(new ResultJson(encryptData)); } else { return "KEY_NULL"; } } /*** * 解密返回的数据 status: 0(成功) 1(失败) ;msg: SUCCESS 或者 “错误信息” ; data: ; * @param decryptMsg 要解密的数据 * @return Map<String, String> 解密后返回的状态,对象 */ public static Map<String, String> getResponseInfo(String decryptMsg, String userid) { String encryptKey; if (IsEmptyUtil.isNullOrEmpty(userid)) { encryptKey = KEY; } else { encryptKey = userid.substring(14, 22).toString(); } Map<String, String> map = new HashMap<String, String>(); if (!IsEmptyUtil.isNullOrEmpty(decryptMsg)) { try { responseBean = JSON.parseObject(decryptMsg, ResponseBean.class); } catch (Exception e) { map.put(Config.RESPONSE_BEAN_NULL, "操作失败"); return map; } String error = responseBean.getError(); if (!IsEmptyUtil.isNullOrEmpty(error) && error.equals("nosession")) { map.put(Config.RESPONSE_CONNCET_OUT_TIM, "需要重新登录"); } else { String status = responseBean.getStatus(); String data = responseBean.getData(); if (status.equals(Config.RESPONSE_STATES_SUCCESS)) { if (!IsEmptyUtil.isNullOrEmpty(encryptKey) && !IsEmptyUtil.isNullOrEmpty(data)) { String decryptJson = decryptData(encryptKey, data); if (!IsEmptyUtil.isNullOrEmpty(decryptJson)) { map.put(Config.RESPONSE_STATES_SUCCESS, decryptJson); } else { map.put(Config.RESPONSE_STATES_FAIL, "数据解析失败"); } } else { map.put(Config.RESPONSE_STATES_FAIL, "暂无数据"); } } else if (status.equals(Config.RESPONSE_STATES_FAIL)) { data = responseBean.getMsg(); map.put(Config.RESPONSE_STATES_FAIL, data); } } } else { map.put(Config.RESPONSE_STATES_FAIL, "操作失败"); } return map; } private static String encryptData(String keyStr, String json) { EncryptUtil util = new DESEncryptUtil(); try { Key key = util.getKey(keyStr); return encryptData(key, json); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } return null; } private static String encryptData(Key key, String json) { EncryptUtil util = new DESEncryptUtil(); try { String rs = util.encrypt(key, json); return rs; } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (EncryptException e) { e.printStackTrace(); } return null; } private static String decryptData(String keyStr, String decrypt) { EncryptUtil util = new DESEncryptUtil(); try { String rs = util.decrypt(util.getKey(keyStr), decrypt); return rs.replace("\"null\"", "\"\""); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (EncryptException e) { e.printStackTrace(); } return null; } /*** * 解密返回的数据 status: 0(成功) 1(失败) ;msg: SUCCESS 或者 “错误信息” ; data: ; * @param decryptMsg 要解密的数据 * @return Map<String, String> 解密后返回的状态,对象 */ public static Map<String, String> getResponseInfoNeed(String decryptMsg, String userid) { String encryptKey; if (IsEmptyUtil.isNullOrEmpty(userid)) { encryptKey = KEY; } else { encryptKey = userid.substring(14, 22).toString(); } Map<String, String> map = new HashMap<String, String>(); if (!IsEmptyUtil.isNullOrEmpty(decryptMsg)) { try { responseBean = JSON.parseObject(decryptMsg, ResponseBean.class); } catch (Exception e) { map.put(Config.RESPONSE_BEAN_NULL, "操作失败"); return map; } String status = responseBean.getStatus(); String data = responseBean.getData(); if (status.equals(Config.RESPONSE_STATES_SUCCESS)) { if (!IsEmptyUtil.isNullOrEmpty(encryptKey) && !IsEmptyUtil.isNullOrEmpty(data)) { String decryptJson = decryptData(encryptKey, data); if (!IsEmptyUtil.isNullOrEmpty(decryptJson)) { map.put(Config.RESPONSE_STATES_SUCCESS, decryptJson); } else { map.put(Config.RESPONSE_STATES_FAIL, "数据解析失败"); } } else { map.put(Config.RESPONSE_STATES_FAIL, "暂无数据"); } } else if (status.equals(Config.RESPONSE_STATES_FAIL)) { String decryptJson = decryptData(encryptKey, data); map.put(Config.RESPONSE_GET_DATA_NULL, decryptJson); } } else { map.put(Config.RESPONSE_STATES_FAIL, "操作失败"); } return map; } }
写的工具类 (加密+解密)
最新推荐文章于 2023-04-28 18:10:50 发布