hz-zhhq-app-service/greenH5modul/.svn/pristine/58/58d73406e7b966287d90fcef159...

74 lines
2.4 KiB
Plaintext

package com.nationalelectric.greenH5;
import java.security.NoSuchAlgorithmException;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.SortedMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.nationalelectirc.utils.MD5Util;
public class MD5SignUtil {
// public static void main(String[] args) throws UnsupportedEncodingException, NoSuchAlgorithmException {
// SortedMap<String, String> alarmParams = new TreeMap<String, String>();
// //user basic information
// alarmParams.put("mobile", "13789096789");
// String real_name = "张三";
// if(isContainChinese(real_name))
// real_name=java.net.URLEncoder.encode(real_name, "utf-8");
// alarmParams.put("real_name", real_name);
// alarmParams.put("meal_no", "8902132");
// alarmParams.put("status", "0");
// alarmParams.put("operate", "0");
// String department_name="后勤部";
// if(isContainChinese(department_name))
// department_name=java.net.URLEncoder.encode(department_name, "utf-8");
// alarmParams.put("department_name", department_name);
// String sign = createSign(alarmParams);
// System.out.println(sign);
// }
@SuppressWarnings("rawtypes")
public static String createSign(SortedMap<String,String> parameters) throws NoSuchAlgorithmException{
StringBuffer sb = new StringBuffer();
Set es = parameters.entrySet();
Iterator it = es.iterator();
while(it.hasNext()) {
Map.Entry entry = (Map.Entry)it.next();
String k = (String)entry.getKey();
Object v = entry.getValue();
if(null != v && !"".equals(v)
&& !"sign".equals(k) && !"key".equals(k)) {
sb.append(k.toLowerCase() + "=" + v + "&");
}
}
String string = sb.toString();
string=string.substring(0, string.length()-1);
String sign = MD5Util.getMD5(string);
return sign;
}
/**
* 判断字符串中是否包含中文
*
* @param str
* 待校验字符串
* @return 是否为中文
* @warn 不能校验是否为中文标点符号
*/
public static boolean isContainChinese(String str) {
Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
Matcher m = p.matcher(str);
if (m.find()) {
return true;
}
return false;
}
}