当前位置: 代码迷 >> Java Web开发 >> java微信平台认证有关问题
  详细解决方案

java微信平台认证有关问题

热度:100   发布时间:2016-04-13 22:44:34.0
java微信平台认证问题
我申请了一个订阅号,然后在认证的时候总是算不对。

这代码是微信平台给的包里的一段。
verifyUrl方法中,token是我服务器上的token, 问下这个token是唯一的吗?,别人用的我再用没什么事吧(官方说用户随边写)?


/**
 * 验证URL
 * @param msgSignature 签名串,对应URL参数的msg_signature
 * @param timeStamp 时间戳,对应URL参数的timestamp
 * @param nonce 随机串,对应URL参数的nonce
 * @param echoStr 随机串,对应URL参数的echostr
 * 
 * @return 解密之后的echostr
 * @throws AesException 执行失败,请查看该异常的错误码和具体的错误信息
 */
public String verifyUrl(String msgSignature, String timeStamp, String nonce, String echoStr)
throws AesException {
String signature = SHA1.getSHA1(token, timeStamp, nonce, echoStr);

log.debug("加密后 signature   :"+ signature);
log.debug("传来的 msgSignature:"+msgSignature);
if (!signature.equals(msgSignature)) {
throw new AesException(AesException.ValidateSignatureError);
}

String result = decrypt(echoStr);
return result;
}



------解决思路----------------------
微信的token是微信根据appid等计算出来的一段token串。。不是楼主自定义的东西。。。
token生成参考:http://jingyan.baidu.com/article/ed2a5d1f340dd409f7be177c.html
这段token不是永久不变的,它有时效性。楼主需要在后台java带码中实现token的计算生成,并反回给自己的认证函数。。。
  相关解决方案