package com.core.utils; import com.core.common.Cools; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; public class SignUtils { public static String sign(Map param, String key) { List list = new ArrayList<>(); for (String mapKey : param.keySet()) { Object value = param.get(mapKey); if ("sign".equals(mapKey) || value == null) { continue; } list.add(mapKey + "=" + value + "&"); } String[] arr = list.toArray(new String[0]); Arrays.sort(arr, String.CASE_INSENSITIVE_ORDER); StringBuilder builder = new StringBuilder(); for (String item : arr) { builder.append(item); } String text = builder.toString() + "key=" + key; return Cools.md5(text).toUpperCase(); } }