package com.jshop.pay.alipay.fh.util; import java.io.FileWriter; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; public class AlipayBase { public static String BuildMysign(Map sArray, String key) { String prestr = CreateLinkString(sArray); prestr = prestr + key; String mysign = Md5Encrypt.md5(prestr); return mysign; } public static Map ParaFilter(Map sArray){ List keys = new ArrayList(sArray.keySet()); Map sArrayNew = new HashMap(); for(int i = 0; i < keys.size(); i++){ String key = (String) keys.get(i); String value = (String) sArray.get(key); if(value.equals("") || value == null || key.equalsIgnoreCase("sign") || key.equalsIgnoreCase("sign_type")){ continue; } sArrayNew.put(key, value); } return sArrayNew; } public static String CreateLinkString(Map params){ List keys = new ArrayList(params.keySet()); Collections.sort(keys); String prestr = ""; for (int i = 0; i < keys.size(); i++) { String key = (String) keys.get(i); String value = (String) params.get(key); if (i == keys.size() - 1) { prestr = prestr + key + "=" + value; } else { prestr = prestr + key + "=" + value + "&"; } } return prestr; } public static String CreateLinkString_urlencode(Map params, String input_charset){ List keys = new ArrayList(params.keySet()); Collections.sort(keys); String prestr = ""; for (int i = 0; i < keys.size(); i++) { String key = (String) keys.get(i); String value = (String) params.get(key); try { prestr = prestr + key + "=" + URLEncoder.encode(value,input_charset) + "&"; } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return prestr; } public static void LogResult(String sWord){ try { FileWriter writer = new FileWriter("D:\\alipay_log" + System.currentTimeMillis() + ".txt"); writer.write(sWord); writer.close(); } catch (Exception e) { e.printStackTrace(); } } }