微信开发--one.微信平台验证
微信验证对很多人可能是一个坎。对于官方文档我也没怎么看懂。
简单理解:验证时候,微信服务器端会发送一个字符串,然后你按照微信要求的格式返回一个字符串,即可验证成功。
1.微信端以URL带参数访问你所设置的网站地址,Get方式发送一个参数,名称为:echoStr
2.在我们验证期间可以用两种方式进行处理:echoStr
(1)直接输出字符串,即可完成验证(此方法超级简单就可以完成微信验证,不需要进行官方一系列加密匹配等。我把它成为野方法,亲测可用)
protected void Page_Load(object sender, EventArgs e){// 验证方法 Valid();} private void Valid(){string echoStr = Request.QueryString["echoStr"].ToString();// 方法一【推荐】:最简单的方法就是不进行校验,直接输出数据即可通过验证 Response.Write(echoStr);Response.End();}
(2)官方验证,就需要进行加密匹配
private void Valid(){string echoStr = Request.QueryString["echoStr"].ToString();//方法二【官方】:通过sha1进行加密匹配if (CheckSignature())//此方法为验证加密 ****** {if (!string.IsNullOrEmpty(echoStr)){Response.Write(echoStr);Response.End();}}}/// <summary>/// 验证微信签名/// </summary>/// * 将token、timestamp、nonce三个参数进行字典序排序/// * 将三个参数字符串拼接成一个字符串进行sha1加密/// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。/// <returns></returns>private bool CheckSignature(){string signature = Request.QueryString["signature"].ToString();string timestamp = Request.QueryString["timestamp"].ToString();string nonce = Request.QueryString["nonce"].ToString();// 打印获取的参数数据//Common.Log.WriteLog("signature:" + signature + "; timestamp:" + timestamp + "; nonce:" + nonce);string[] ArrTmp = { Token, timestamp, nonce };Array.Sort(ArrTmp); //字典排序string tmpStr = string.Join("", ArrTmp);tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");tmpStr = tmpStr.ToLower();if (tmpStr == signature){return true;}else{return false;}}
这样验证就over,第一种验证方法很简单。。。规范化的第二种方式有兴趣可以看看,也不是很复杂,排序加密判断即可。。。
注:官方验证为了什么,真心没弄明白。难道只是让客户知道自己的连接是否正常或正确?但是直接不验证返回也可以验证 真心 不理解。。。
转载于:https://www.cnblogs.com/buzi521/p/3985001.html
微信开发--one.微信平台验证相关推荐
- 微信鉴权服务器地址,微信开发之微信授权登录
本篇教程探讨了微信开发之微信授权登录,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作, ...
- php 微信 语音,PHP语言微信开发:微信录音临时转永久存储
本文主要向大家介绍了PHP语言微信开发:微信录音临时转永久存储,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. 最近做开发的时候碰到了这个问题,甲方希望用户在微信端的录音能够一直有效.就 ...
- 微信开发:微信js_sdk 分享,前端部分(二)
微信开发:微信js-sdk前端分享,代码如下: <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"> ...
- 微信开发 --- 调用微信上传图片接口,并保存到自己的服务器
微信开发 - 调用微信上传图片接口,并保存到自己的服务器 整体思路是这样的: 1.先把手机上的图片上传到微信服务器,然后返回一个图片ID 2.在通过后台根据ID从微信后台拿到流,保存到服务器 前几个步 ...
- 微信jsapi支付获取code_微信开发之微信公众平台开发之JSAPI公众号支付
本文将带你了解微信开发微信公众平台开发之JSAPI公众号支付,希望本文对大家学微信有所帮助. 一:配置参数 申请成功后,获取接口文件, 将所有文件放入项目根目录weixin下,在WxPay.ub.co ...
- 微信开发,微信开发者平台
微信小程序 小程序介绍 微信小程序是一种全新的连接用户端与服务端的方式. 小程序可以在微信内被便捷地获取和传播. 小程序具有出色的用户体验. ###为什么要学习小程序 微信小程序开发成本低.使用方便. ...
- 微信开发(微信公众号)
一. 准备工作 a) 账号 在SAE上面注册一个账号. 在微信公众号开发平台地址 https://mp.weixin.qq.com 注册一个微信公众号. 注意:1.个人只能申请到个人类型的订阅号. ...
- 【微信开发】微信公众号开发 之 编辑模式使用
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/20306735 . . 本人 微信公众账号(订阅号) : ...
- 【坑爹微信】微信开发基础 --- 微信快捷登陆问题解决
目录 List 那一抹淡淡的忧伤-–微信开发基础 用纯js是不可能用纯js了,这辈子都不用纯js了 -– 微信JSSDK开发以及问题解答 要你命3000 -- 微信支付开发系列问题解决 导语 微信快捷 ...
- 关于微信开发与微信支付更新
1.)微信开发一般就是看文档,按部就班调用API就行,推荐一些SDK .NET https://github.com/JeffreySu/WeiXinMPSDK JAVA http://git.osc ...
最新文章
- C#函数式编程之可选值
- petshop4学习_重构DataList实现分页
- NLP《词汇表示方法(七)BERT》
- elasticsearch 数据类型_ElasticSearch学习笔记
- java8新特性——如何使用lambda
- STM32单片机雨滴模块
- codeblocks下载安装以及使用自带GCC / g++编译器
- windows 8.1安装VS2005出现安装失败:未能安装.NET framework 3.5解决方案
- 70.(cesium篇)cesium接入天地图影像与注记(经纬度)
- 金山Wps珠海实习杂记(一)
- js中动态给img标签添加onclick事件
- 20200929 008.海龟绘图_画出奥运五环图
- 淘宝分拆为三家独立公司:淘宝、商城和一淘
- android saf写sd卡,使用SAF(存储访问框架)的Android SD卡写权限
- Linux驱动_i2c驱动(ap3216c)
- 微信ipad安卓协议,微信开发API接口大全
- android4.2家长密码,家长维护学生资料
- 数字经济时代怎能没有数字钱包?| 区块链数据货币钱包系列一
- ip、子网掩码和无类域名路由述说
- 解决方案:请删除SQL Server的“WinCC“实例,因为在卸载“WinCC Professional“或“WinCC Runtime Professional“之后及其他问题解决方案!!!