修正toJoinString可能签名错误的bug
This commit is contained in:
parent
d8ca042894
commit
92a847ecac
@ -3,7 +3,7 @@ package com.foxinmy.weixin4j.jssdk;
|
||||
/**
|
||||
* JSSDK接口列表
|
||||
*
|
||||
* @className JSSDKAPIs
|
||||
* @className JSSDKAPI
|
||||
* @author jy
|
||||
* @date 2015年12月23日
|
||||
* @since JDK 1.7
|
||||
|
||||
@ -111,7 +111,7 @@ public class JSSDKConfigurator {
|
||||
signMap.put("jsapi_ticket", this.ticketTokenHolder.getAccessToken());
|
||||
signMap.put("url", url);
|
||||
String sign = DigestUtil.SHA1(MapUtil
|
||||
.toJoinString(signMap, false, true));
|
||||
.toJoinString(signMap, false, false));
|
||||
if (StringUtil.isBlank(config.getString("appId"))) {
|
||||
config.put("appId", Weixin4jConfigUtil.getWeixinAccount().getId());
|
||||
}
|
||||
@ -122,9 +122,20 @@ public class JSSDKConfigurator {
|
||||
throw new WeixinException("jsapilist not be empty");
|
||||
}
|
||||
config.put("timestamp", timestamp);
|
||||
config.put("noncestr", noncestr);
|
||||
config.put("nonceStr", noncestr);
|
||||
config.put("signature", sign);
|
||||
config.put("jsApiList", apis.toArray());
|
||||
return config.toJSONString();
|
||||
}
|
||||
|
||||
public static void main(String[] args){
|
||||
Map<String, String> signMap = new HashMap<String, String>();
|
||||
signMap.put("timestamp", "1451291129");
|
||||
signMap.put("noncestr", "FXlt1mmwNrU30AIGGNrdLcdO");
|
||||
signMap.put("jsapi_ticket", "kgt8ON7yVITDhtdwci0qeQdDHdx7JYipird9HNRuaHAIXFpvYh0mz9vuWOjdZb8a3ftvHZKfqcLzrx_pTFOZ3Q");
|
||||
signMap.put("url", "http://wx.jdxg.doubimeizhi.com/apprise/share");
|
||||
String sign = DigestUtil.SHA1(MapUtil
|
||||
.toJoinString(signMap, false, false));
|
||||
System.err.println(sign);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@ package com.foxinmy.weixin4j.util;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
@ -36,13 +36,7 @@ public class MapUtil {
|
||||
*/
|
||||
public static String toJoinString(Object object, boolean encoder,
|
||||
boolean lowerCase, Map<String, String> extra) {
|
||||
Map<String, String> map = new TreeMap<String, String>(
|
||||
new Comparator<String>() {
|
||||
@Override
|
||||
public int compare(String o1, String o2) {
|
||||
return o1.compareTo(o2);
|
||||
}
|
||||
});
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
JSONObject obj = null;
|
||||
if (object instanceof String) {
|
||||
obj = JSONObject.parseObject(object.toString());
|
||||
@ -72,6 +66,7 @@ public class MapUtil {
|
||||
public static String toJoinString(Map<String, String> map, boolean encoder,
|
||||
boolean lowerCase) {
|
||||
map.remove("sign");
|
||||
map = new TreeMap<String, String>(map);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
Set<Map.Entry<String, String>> set = map.entrySet();
|
||||
try {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user