字符串的顺序检查过了,是正确的
mp_sig提示语
2018-7-2 10:45:13.338 INFO [main] buy|jsonObject={ "errcode": 90009, "errmsg": "mp_sig error hint: [bjyzOA0513shc1]"} |
mp_sig提示错误,是不是说明,sig签名是正确的?
sessionKey有过期时间吗?
签名代码如下
private static String getSign(StringBuilder stringBuilder, String session_key) { String mp_sig = null; try { String temp = SnsSigCheck.encodeUrl(stringBuilder.toString()); Mac mac = Mac.getInstance("HmacSHA256"); SecretKeySpec secretKey = new SecretKeySpec(session_key.getBytes(), "HmacSHA256"); mac.init(secretKey); byte[] hash = mac.doFinal(temp.getBytes()); mp_sig = Base64.encodeBase64String(hash); } catch (Exception e) { Logs.get().error("=========e=" + Lang.getStackTrace(e)); } return mp_sig; } |
请问要怎么查这个问题呢,顺序是完全按照文档中的顺序的,其他数据只有sessionKey不确定,sessionKey指的是用户的登陆返回的sessionKey吧,这个有过期时间吗,还是怎样的?文档中也没有说明,只是提示这个错误,能不能帮我检查一下sig签名是不是对的,否则不知道那个参数有问题,或者不知道问题出现在哪里,要不提供一下java的封装方法也行
sig签名字符串
StringBuilder stringBuilder = new StringBuilder("appid="); stringBuilder.append(appid); stringBuilder.append("&offer_id="); stringBuilder.append(offer_id); stringBuilder.append("&openid="); stringBuilder.append(openid); stringBuilder.append("&pf=android&ts="); stringBuilder.append(ts); stringBuilder.append("&zone_id="); stringBuilder.append(1); stringBuilder.append("&org_loc=/cgi-bin/midas/getbalance&method=POST&secret="+secret); String sig = getSign(stringBuilder, secret); |
mp_sig签名字符串
stringBuilder = new StringBuilder(""); stringBuilder.append("access_token="); stringBuilder.append(getAccessToken()); stringBuilder.append("&appid="); stringBuilder.append(appid); stringBuilder.append("&offer_id="); stringBuilder.append(offer_id); stringBuilder.append("&openid="); stringBuilder.append(openid); stringBuilder.append("&pf=android"); stringBuilder.append("&sig="); stringBuilder.append(sig); stringBuilder.append("&ts="); stringBuilder.append(ts); stringBuilder.append("&zone_id="); stringBuilder.append(1); stringBuilder.append("&org_loc=/cgi-bin/midas/getbalance&method=POST&session_key="+session_key); String mp_sig = getSign(stringBuilder, session_key); |
这样还是提示90009的错误

你好。不需要重复发帖的,你的反馈我们已经收到,之前也有回复,有结果会在已回复的帖子下跟进哈