微信小程序-微信支付签名验证

微信小程序-微信支付签名验证,第1张

在微信支付之后,小程序会主动向服务端发送支付状态.为了防止恶意篡改,必须生成签名发送给服务端进行验证.

签名生成官方文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3

签名验证分为如下几步:

1.与服务端确认上传的签名内容(即上传参数key=value)以及加密方式.并且要到商户平台设置的密钥key.

2.生成随机字符串nonceStr.

3.将要上传的参数,对参数按照key=value的格式,并按照参数名ASCII字典序排序,比如:

假设传送的参数如下: 

appid: wxd930ea5d5a258f4f 

mch_id: 10000100 

device_info: 1000 

body: test 

nonce_str: ibuaiVcKdpRxkhJA

则:stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA"

4.拼接API密钥,例如:stringSignTemp=stringA+"&key=192006250b4c09247ec02edce69f6a2d" //注:key为商户平台设置的密钥key

5.对拼接秘钥后的字符串进行加密并且转换为大写.(加密方式自定)

6.将参数以及加密得到的sign一起上传给服务端进行验证.

7.查看服务端返回结果.

谢谢大家~

微信小程序签字不是本人可以签字,因为微信小程序签字一般都是通过验证身份的方式验证用户身份,以确保签字的真实性。此外,签字过程中还可以使用可追溯的签名技术,以保证签字的真实有效性。这样可以有效防止未经授权的签字和篡改签字,从而保护用户的权益。

原因和解决方法:

1、确保目标应用apk是release包。

2、检查AppID、AppSecret和目标应用的包名是否和微信后台一致。

3、检查微信后台填写的应用签名是否正确!获取应用签名的两种方式。

4、重装微信或者清除微信的缓存信息:微信会缓存包信息、或者AppID等信息,若第一次没有登录,需要重装微信或者清除微信的缓存信息


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8122105.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存