请教大神帮我解决下微信JSSDk接口签名错误的问题?在线等

问题描述

config配置权限验证时要获取接口的签名首先要根据oppid获取access_token公众号的全局唯一票据然后再根据access_token获取jsapi_ticket最后再根据jsapi_ticket获得签名但是怎么弄都提示签名错误。。。。。。。官网说:参数按照字段名的ASCII码从小到大排序确认config中noncestr,timestamp与用以签名中的对应noncestr,timestamp一致。确认url是页面完整的url,包括GET参数部分。确认config中的appid与用来获取jsapi_ticket的appid一致。我都对了1天了这些都没弄错就是一直报签名的错误。。。。。。。。。。。。。。。。。。。string1:jsapi_ticket=bxLdikRXVbTPdHSM05e5u1sgBgnhgLlAc-l-lxGl6z01X9Dz0N_ogV00_xQxFdJj-jh47ZXibMa8bysSXH_LSA&noncestr=rHk2XMkrI8P6SGQh&timestamp=1421216992&url=http://active.ucandemo.net/test.aspxsignature=sha1(string1)signature:5e4caf2186c02472871fff57e4e2ad73d1e612b1

解决方案

解决方案二:

解决方案三:
我也遇到与你同样的问题,ios手机上一直报invalidsignature签名错误,也按照JSSDK文档附录6关于invalidsignature签名错误的排错指导每步都仔细排查了,还是未能解决该问题。
解决方案四:
解决了吗??????
解决方案五:
我也碰到同样的问题,还未解决。。持续关注
解决方案六:
同样的问题求支招啊
解决方案七:
也是同样的问题。生成的签名和微信签名验证工具一样的字符串怎么还不行
解决方案八:
我也遇到一样的问题,现在解决了。签名和验证工具签名一致,只能说明你签名时的url和wx校验时的url不一致,可能是参数导致的,应该在打开页面前,先对参数进行encode,同样在你签名的时候对url的参数进行encode,这样就没问题了。注意,是url的参数,不是整个url,希望可以帮到你。
解决方案九:
这是我的参数stringnoncestr="101072105102";stringjsapi_tickets=jsapi_ticket;stringtimestamp="201501270101";stringurl="http://weixin.sinotruk.com/Location/Default.aspx";signature=CheckSignature(jsapi_tickets,noncestr,timestamp,url);下面是签名的方法privatestringCheckSignature(stringjsapi_ticket,stringnoncestr,stringtimestamp,stringurl){string[]ArrTmp={jsapi_ticket,noncestr,timestamp,url};Array.Sort(ArrTmp);//字典排序stringtmpStr=string.Join("",ArrTmp);tmpStr=FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr,"SHA1");tmpStr=tmpStr.ToLower();returntmpStr;}为什么签名数据跟微信不一致呢,能指点一下么引用7楼zhangt0558的回复:

我也遇到一样的问题,现在解决了。签名和验证工具签名一致,只能说明你签名时的url和wx校验时的url不一致,可能是参数导致的,应该在打开页面前,先对参数进行encode,同样在你签名的时候对url的参数进行encode,这样就没问题了。注意,是url的参数,不是整个url,希望可以帮到你。

解决方案十:
引用7楼zhangt0558的回复:

我也遇到一样的问题,现在解决了。签名和验证工具签名一致,只能说明你签名时的url和wx校验时的url不一致,可能是参数导致的,应该在打开页面前,先对参数进行encode,同样在你签名的时候对url的参数进行encode,这样就没问题了。注意,是url的参数,不是整个url,希望可以帮到你。

有的资料说,url可以用location.href.split('#')[0]方法获得,我发现这个方法获得的url会带有微信传来的参数,那么签名的时候用的url是我的原始的url还是带参数的URL呢?请大牛指点啊,搞了好久没搞懂
解决方案十一:
引用9楼feelgoodha的回复:

Quote: 引用7楼zhangt0558的回复:
我也遇到一样的问题,现在解决了。签名和验证工具签名一致,只能说明你签名时的url和wx校验时的url不一致,可能是参数导致的,应该在打开页面前,先对参数进行encode,同样在你签名的时候对url的参数进行encode,这样就没问题了。注意,是url的参数,不是整个url,希望可以帮到你。

有的资料说,url可以用location.href.split('#')[0]方法获得,我发现这个方法获得的url会带有微信传来的参数,那么签名的时候用的url是我的原始的url还是带参数的URL呢?请大牛指点啊,搞了好久没搞懂

带参数的页面地址,也就是点“菜单”“复制链接”的那个地址。
解决方案十二:
引用8楼u011120525的回复:

这是我的参数stringnoncestr="101072105102";stringjsapi_tickets=jsapi_ticket;stringtimestamp="201501270101";stringurl="http://weixin.sinotruk.com/Location/Default.aspx";signature=CheckSignature(jsapi_tickets,noncestr,timestamp,url);下面是签名的方法privatestringCheckSignature(stringjsapi_ticket,stringnoncestr,stringtimestamp,stringurl){string[]ArrTmp={jsapi_ticket,noncestr,timestamp,url};Array.Sort(ArrTmp);//字典排序stringtmpStr=string.Join("",ArrTmp);tmpStr=FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr,"SHA1");tmpStr=tmpStr.ToLower();returntmpStr;}为什么签名数据跟微信不一致呢,能指点一下么Quote: 引用7楼zhangt0558的回复:
我也遇到一样的问题,现在解决了。签名和验证工具签名一致,只能说明你签名时的url和wx校验时的url不一致,可能是参数导致的,应该在打开页面前,先对参数进行encode,同样在你签名的时候对url的参数进行encode,这样就没问题了。注意,是url的参数,不是整个url,希望可以帮到你。

可以参考一楼的代码。
解决方案十三:
引用10楼zhangt0558的回复:

Quote: 引用9楼feelgoodha的回复:
Quote: 引用7楼zhangt0558的回复:
我也遇到一样的问题,现在解决了。签名和验证工具签名一致,只能说明你签名时的url和wx校验时的url不一致,可能是参数导致的,应该在打开页面前,先对参数进行encode,同样在你签名的时候对url的参数进行encode,这样就没问题了。注意,是url的参数,不是整个url,希望可以帮到你。

有的资料说,url可以用location.href.split('#')[0]方法获得,我发现这个方法获得的url会带有微信传来的参数,那么签名的时候用的url是我的原始的url还是带参数的URL呢?请大牛指点啊,搞了好久没搞懂

带参数的页面地址,也就是点“菜单”“复制链接”的那个地址。

那微信带来的参数&from=timeline&isappinstalled=1,这个需要encode吗?
解决方案十四:
看这里:http://www.cnblogs.com/deepleo/p/weixinjssdk.html
解决方案十五:
请访解决了么?我也遇到这个问题了,能分享一下么?这是我的问题http://bbs.csdn.net/topics/390981338谢谢了
解决方案:
估计也是url错了。。后面还有一个反斜杠的。。alert出来之后对比一下。。这个斜杠坑了我一个下午。。
解决方案:
我当时是没有填写js安全域名
解决方案:
同样的字符串http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign和http://www.sha1-online.com/加密不一样啊,是不是微信接口有bug。跪求解决方案啊。
解决方案:
13楼是正解,感谢夜の魔王,我的忽略字母大小写。
解决方案:
楼主解决了这个问题么?我也有同样的问题签名都和微信测试页面的一样,还是一直提示签名错误!不知道哪里出了问题
解决方案:
http://jingyan.baidu.com/article/59703552c3c9808fc1074072.html问题我解决了,大家可以看看我的百度经验~
解决方案:
签名错误也有可能是jsapi_ticket过期后无法获取,因为获取次数“非常有限”
解决方案:
有人解决这个问题了吗?我已经确认过了,我后台程序生成的签名和微信在线工具生成的签名是一模一样的我的后台的url和微信里复制链接的url也是一模一样的其他参数也都已经确认过了,但是就是不能通过验证
解决方案:
没有合理的答案啊,都是问题
解决方案:
我也是一样的问题,早了好久都没搞定,晕死了
解决方案:
楼主,你的问题解决了没?是什么原因啊?
解决方案:
求解啊,签名算法时候的url到底是哪里获取到的呢?。。。公众平台测试号,可以测分享功能吗?还是必须认证过的正式号
解决方案:
我的解决了,你先前端做个测试,确认跑通了,然后再让再让后台做动态的,你获取就可以,签名有效期是两小时,过期了,你的token,tiket都要重新再换一次,然后再把方法调用在ready成功里面......有问题加Q:553644700,带上备注。

时间: 2024-08-02 04:19:20

请教大神帮我解决下微信JSSDk接口签名错误的问题?在线等的相关文章

安卓开发 post方法-各位大神帮我解决下安卓用post方法向服务器传值,状态输出以及下面的输出都没有打印

问题描述 各位大神帮我解决下安卓用post方法向服务器传值,状态输出以及下面的输出都没有打印 private void postValues (JSONObject param) throws ClientProtocolException, IOException{ String url = "http://app.taosame.com/index.php/user/login.html"; System.out.println(url); HttpPost request = n

软件-优盘读取不出来,求大神帮我解决下,谢谢

问题描述 优盘读取不出来,求大神帮我解决下,谢谢 我优盘插别人电脑上能显示,我插自己的显示不了,别人优盘插我电脑上能显示,在驱动人生这个 软件上能显示外部驱动,但就是不显示优盘 解决方案 首先你打开控制面板,找到添加硬件,然后插入你自己的UPAN,然后下添加硬件下一步,跟着提示走,或者自己选择USB某个硬件驱动 解决方案二: 查看电脑的usb接口是都有问题,插入鼠标是否能用

java web-求求大神帮我解决下 。。。。。一天了还没解决 非常感谢

问题描述 求求大神帮我解决下 .....一天了还没解决 非常感谢 package edu.jju.example; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; import javax.activation.DataSource; import org.apache.commons.dbcp.BasicDataSource; /** * @author Ad

各路大神帮小弟解决下问题

问题描述 想做一个简单的条件登陆其中Department_Info和User_Info是两个表输入User_ID的textID.text如果满足在Department_Info中Department_ID=123时实现页面跳转以下是代码不知道哪里有问题功能实现不了麻烦代码详细点我是菜鸟谢谢了usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSys

c语言-求大神帮我解决这个问题

问题描述 求大神帮我解决这个问题 能不能帮我把这个循环的过程给写出来给我,我这个循环老是解不出,谢谢了 解决方案 先执行语句一,接着循环:判断语句->语句二 解决方案二: 请前辈们帮我解决下问题!!谢谢!!前辈们帮我解决一个问题吧谁能帮我解决一下这个问题 解决方案三: 什么叫解不出?这个循环具体的现实意义不太清楚,不过大概就是在x>8的条件下,打印x,y的值,且x自减. 解决方案四: 对啊,没看明白,啥叫解不出呢

keytool-ssl的大神帮我看下这个问题吧

问题描述 ssl的大神帮我看下这个问题吧 公司的有一个服务器 一个客户端通过ssl加密连接,服务器是C写的,现在又用java写了一个,把C的放弃,由于客户端都在外面,所以客户端的证书没有办法修改(客户端有一个truststore文件),我现在从C的服务器上拿到了两个pem 文件(ca.pem,server.pem),这应该是用openssl生成的,我用keytool生成的keystore文件,在tomcat下的server.xml 里面配置下keystoreFile就可以使用了,我把这两个文件路

int-求大神 帮我看下这个存储过程哪里错了

问题描述 求大神 帮我看下这个存储过程哪里错了 DROP PROCEDURE IF EXISTS Query_Role_PhoneRecord;DELIMITER ;;CREATE DEFINER=root@% PROCEDURE Query_Role_PhoneRecord( in userId binary(16)in pagNo intin pagSize int )BEGINdeclare bSize int; set bSize=(pagNo-1)*pagSize;if(bSize<0

求大神帮我解决ueditor单图上传按钮显示的问题asp.net

问题描述 求大神帮我解决ueditor单图上传按钮显示的问题asp.net 因为公司项目需要,昨天下载了一个.net版的ueditor富文本编辑器,现在也只是能在页面上显示出来了,还有很多的配置问题没解决,现在的问题是单图上传按钮是灰色的,怎么让它显示?还是多图上传的本地文件上传的配置问题,希望能来个大牛帮我解决一下,最好有个截图解释一下,才刚工作一个月,谢谢了

懂webservice和ssl的大神帮我看下这个问题吧,谢谢

问题描述 懂webservice和ssl的大神帮我看下这个问题吧,谢谢 ssl单向认证,1.浏览器访问的时候不需要客户端证书,客户端访问webservice时 则需要一个客户端信任列表文件(client.truststore).浏览器访问时 是自动获取的这个证书 还是浏览器有什么特殊机制? 2.client.truststore这个信任证书是由一个服务器证书导入并生成的,能不能再导入其他的服务器证书? 解决方案 浏览器会告诉你 这个证书不安全,但是程序访问的时候会报错,因为代码默认实现的是验证证