package com.kmall.admin.utils.oms; import java.util.*; /** * @author zengjunlin * @version 1.0 * 2017-10-25 11:04 */ public class OmsSign { /** * 加签 * @param params 请求参数 * @param secretKey 密钥 * @return 返回签名字串 */ public static final String sign(Map params, String secretKey){ StringBuffer sign = new StringBuffer(); //按升序排列 List> infoIds = new ArrayList>(params.entrySet()); Collections.sort(infoIds, new Comparator>() { public int compare(Map.Entry o1, Map.Entry o2) { return (o1.getKey()).toString().compareTo(o2.getKey()); } }); for(Map.Entry m : infoIds){ sign.append(m.getKey()+ m.getValue()); } sign.insert(0,secretKey); return MD5Util.getMd5(sign.toString()); } /** * 验签 * @param signature 签名字串 * @param params 请求参数 * @param secretKey 密钥 * @return 签名通过返回true ,不通过返回false */ public static final boolean verify(String signature, Map params, String secretKey){ String sign = sign(params,secretKey); if(signature.equals(sign)){ return true; } return false; } }