2 qq 24815655 qq_24815655 于 2015.06.03 11:12 提问

微信公众平台修改服务器配置时token验证失败

jsp里的源码:
<%
String token = Weixin.TOKEN;
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");

//对微信返回的数据做SHA1加密
String sign = "";
try {
    List l = new LinkedList();
    l.add(timestamp);
    l.add(nonce);
    l.add(token);
    Collections.sort(l);
    for(Object o :l ){
        sign += (String)o;
    }
} catch (Exception e) {
    e.printStackTrace();
}
sign = SHAEncript.SHA1(sign);
String signature = request.getParameter("signature");
System.out.println("系统算出的签名:"+sign);
System.out.println("微信返给的签名:"+signature);
if(sign.equals(signature)){
    System.out.println("签名验证正确,可以接入");
    String echostr = request.getParameter("echostr");
    System.out.println("微信发回的echostr:"+echostr);
    out.print(echostr);
    System.out.println("已将原数返回");
    out.close();
}
//out.print("gg");

%>

系统算出的签名和微信返回的签名是一致的,然后就一直token验证失败。求各位大神们看看哪里出了问题。
是不是我echstr原样返回的不对。该怎么返回才正确。

2个回答

qq_17353517
qq_17353517   2015.09.16 13:31

我的之前也是出问题,我的修改方法: 在配置的URL中 地址: http://xxxx.com/xxx.php (指定到一个默认页面上)

zzh1300
zzh1300   2016.02.09 23:24

数据加密比较有问题,造成验证失败!

Csdn user default icon
上传中...
上传图片
插入图片