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