您的位置:首页 > 编程语言 > ASP

asp.net 微信开发入门级Token验证

2016-10-18 14:25 447 查看
第一步:

打开你的aspx页面的后台文件(也就是.cs)在里面写如下方法

#region
/// <summary>
/// 验证微信签名
/// </summary>
/// *本方法的目的是将来源于微信服务器的token、timestamp、nonce三个参数进行字典序排序
/// * 再将三个参数字符串拼接成一个字符串进行sha1加密然后与signature进行对比
/// <returns></returns>
private bool CheckSignature()
{
//获取从微信服务器发过来的signature 、timestamp和nonce
string signature = Request.QueryString["signature"].ToString();
string timestamp = Request.QueryString["timestamp"].ToString();
string nonce = Request.QueryString["nonce"].ToString();
//这里的Token来自于自己的变量声明 如public string Token = "tomyang1994";
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;
}
}

private void Valid()
{
string echoStr = Request.QueryString["echoStr"].ToString();
if (CheckSignature())
{
if (!string.IsNullOrEmpty(echoStr))
{
//这个是打印出取得的信息,与验证token没有关系
只有CheckSignature()返回的是true,token就
已经验证成功了
Response.Write(echoStr);
Response.End();
}
}
}
#endregion


第二步:

就是在void Page_Load(object sender, EventArgs e)中调用第一步写的Valid()方法。

第三步:

完成上面两步后就进入你的微信开发者账号

基本配置—–>服务器配置



填完点击提交 ,提交成功就OK了。token验证就完成了 ,服务端代码可以注释掉了。

注:asp.net端要发布到IIS上,然后将外网IP或地址填写到服务器配置中的URL里,注意端口是80或者443,将内网转外网建议用花生壳,6元的认证费。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  asp.net 微信