zoukankan      html  css  js  c++  java
  • .net 微信Token验证

    首次接受这个项目,看了微信的API,云里雾里,经过几经测试,理清思路

    开发者自个申请,微信API给出四个参数:

    下面我解释下

    signature 是微信加密签名 即:微信服务器将 timetamp nonce  token(你提交的)使用SHA1加密后 会使用GET方式发送给你。

    timestamp是腾讯服务器发送的一个时间戳

    nonce是腾讯服务器发送的一个随机数

    成功申请的关键是在下面,上面的几个参数只是 微信提供 用户请求--->你自己的网站 的一个验证方式。

    echostr就是 腾讯服务器发送的一个随机字符串 这个需要你在自己网站接受后 使用输出流 Respons.Write(echostr);

    记住最好在输出完毕终止流 Response.End(); 然后就可以成功申请了。

    参数描述
    signature 微信加密签名
    timestamp 时间戳
    nonce 随机数
    echostr 随机字符串 
    1.  private void Valid()  
    2.     {  
    3.         string echoStr = Request.QueryString["echoStr"].ToString();  
    4.         if (CheckSignature())  
    5.         {  
    6.             if (!string.IsNullOrEmpty(echoStr))  
    7.             {  
    8.                 Response.Write(echoStr);  
    9.                 Response.End();  
    10.             }  
    11.         }  
    12.     }  
    1.  private bool CheckSignature()  
    2.     {  
    3.         string signature = Request.QueryString["signature"].ToString();  
    4.         string timestamp = Request.QueryString["timestamp"].ToString();  
    5.         string nonce = Request.QueryString["nonce"].ToString();  
    6.         string[] ArrTmp = { Token, timestamp, nonce };  
    7.         Array.Sort(ArrTmp);     //字典排序  
    8.         string tmpStr = string.Join("", ArrTmp);  
    9.         tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");  
    10.         tmpStr = tmpStr.ToLower();  
    11.         if (tmpStr == signature)  
    12.         {  
    13.             return true;  
    14.         }  
    15.         else 
    16.         {  
    17.             return false;  
    18.         }  
    19.     } 
  • 相关阅读:
    (转载)Hadoop示例程序WordCount详解
    Eclipse打不开,闪退
    【python】实例-把两个无规则的序列连接成一个序列,并删除重复的元素,新序列按照升序排序
    【python】格式化输出
    【python】序列、元组、集合、字典和range函数
    【python】实例-判断用户输入数字的类型
    【python】文件操作
    python 异常类型----后期需理解调整
    【python】OOP编程----类的定义及封装
    【python】if&&for&&while语句
  • 原文地址:https://www.cnblogs.com/lxshanye/p/3842079.html
Copyright © 2011-2022 走看看