/** * 签名字符串 * @param input_charset 编码格式 * @return 签名结果 */ public static String sign(Map<String,String> map,String input_charset) { Map<String, String> map2 = new TreeMap<String, String>( new Comparator<String>() { @Override public int compare(String obj1, String obj2) { // 升序排序 return obj1.compareTo(obj2); } }); Set<String> keySet2 = map.keySet(); for (String string : keySet2) { map2.put(string, map.get(string)); } Set<String> keySet = map2.keySet(); String text = ""; int length = keySet.size(); int i = 1; for (String string : keySet) { if(length == i){ //if(!StringUtils.isEmpty(map.get(string))){ text += string+"="+map.get(string); //} }else{ //if(!StringUtils.isEmpty(map.get(string))){ text += string+"="+map.get(string)+","; //} } i++; } log.info("签名参数={}",text); return DigestUtils.md5Hex(getContentBytes(text, input_charset)); } /** * @param content * @param charset * @return * @throws SignatureException * @throws UnsupportedEncodingException */ private static byte[] getContentBytes(String content, String charset) { if (charset == null || "".equals(charset)) { return content.getBytes(); } try { return content.getBytes(charset); } catch (UnsupportedEncodingException e) { throw new RuntimeException("MD5签名过程中出现错误,指定的编码集不对,您目前指定的编码集是:" + charset); } }
java中md5加密
最新推荐文章于 2024-09-11 16:36:24 发布