// 微信签名生成算法 public static final String wxSign(Map<String, Object> map) { // 将参数按字典序排序 List<String> list = new ArrayList<String>(map.keySet()); Collections.sort(list); // 拼接StringA StringBuilder stringA = new StringBuilder(); for (int i = 0; i < list.size(); i++) { String key = list.get(i); stringA.append(key); stringA.append('='); stringA.append(map.get(key)); stringA.append('&'); } // 拼接key并输出MD5值 stringA.append("key="); stringA.append(Constant.W_API_KEY); System.out.println(stringA.toString()); return Encrypt.MD5(stringA.toString()).toUpperCase(); }
// 微信随机数生成算法 public static final String wxRandomString() { String randomCode = generateRandomCode(10); return Encrypt.MD5(randomCode); }