对新入门者的话2-------艰难而快乐的开始
我说的“新入门者”是指有语言基础的但刚开始做微信公众号的人,欢迎入Q212446632讨论学习。群名称叫“微信公众平台asp.net”,进来的人应该是奔着asp.net这几个字而来才对,对于那些连url,html都不知道的人最好先去学习了再来。
好了,闲话少说。你应该已经成为开发者了。你应该已经把url和token提交给微信服务器了。
1、验证。
微信服务器和你的服务器开始了“交流”,你的服务器要验证一下对方是不是“微信服务器”,微信服务器把你提交给它的token和其他一些参数(比如当前时间)柔和在一起形成一个新的字串(signature),发送给你的服务器(网站),顺便还发送了一个“随机字符串”(echostr)。
它总共发来了哪些东西呢?时间戳timestamp、随机数(nonce)、和上面说的signature和echostr。你的程序把时间戳timestamp、随机数(nonce)、你的token三东西安装规律“融和”,形成一个新的字符串。这个新的字符串和signature如果是一模一样的,就验证通过。
下面是我写好的类,你如果懒得写也懒得理解,照搬的就行。只要改一下token。群里有我上传的微信接口最简实例程序下载。
其中验证部分代码如下。
const string Token = "hxls"; //改成与你填写的token一致,const表示常量,这是我的token。
private bool CheckSignature()
{
string signature = Request.QueryString["signature"];//微信加密签名
string timestamp = Request.QueryString["timestamp"];//时间戳
string nonce = Request.QueryString["nonce"];//随机数
string[] ArrTmp = { Token, timestamp, nonce };
Array.Sort(ArrTmp); //字典排序
string tmpStr = string.Join("", ArrTmp);
tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
tmpStr = tmpStr.ToLower();
return tmpStr == signature;
}
private bool CheckSignature()
{
string signature = Request.QueryString["signature"];//微信加密签名
string timestamp = Request.QueryString["timestamp"];//时间戳
string nonce = Request.QueryString["nonce"];//随机数
string[] ArrTmp = { Token, timestamp, nonce };
Array.Sort(ArrTmp); //字典排序
string tmpStr = string.Join("", ArrTmp);
tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
tmpStr = tmpStr.ToLower();
return tmpStr == signature;
}
这个类返回的是bool类,再写上其他代码。
通过验证后,你的服务器就可以和微信服务器有了对话的条件。
明天内容:和微信对话

浙公网安备 33010602011771号