博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net 微信Token验证
阅读量:6376 次
发布时间:2019-06-23

本文共 1104 字,大约阅读时间需要 3 分钟。

首次接受这个项目,看了微信的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.     }  

转载地址:http://qztqa.baihongyu.com/

你可能感兴趣的文章
安装 SharePoint Server 2007
查看>>
springmvc mybatis 调用sql , 转成json
查看>>
linux centos 7 网卡突然不能上网异常解决
查看>>
shell+Python实现简单的链路监控
查看>>
授之以渔-运维平台发布模块一(Jenkins篇)
查看>>
DedeCMS操作基础(一)
查看>>
FreeBSD部署dns缓存服务器
查看>>
实现MySQL允许远程连接
查看>>
Java Outputstream to String
查看>>
RS232C串口通信接线方法(三线制)
查看>>
Android 自定义View属性相关细节
查看>>
type already defined error in Eclipse
查看>>
OSA 安装
查看>>
先安装.Framework然后再安装IIS,ASP.NET程序不能运行
查看>>
NPOI Excel下拉项生成设置
查看>>
360该不该拍?
查看>>
用Xib创建控制器
查看>>
oracle的sqlplus和dos的中文乱码问题
查看>>
LVS+keepalived高可用负载均衡集群部署(二)---LAMP网站服务器与LVS服务器
查看>>
Struts2之简单数据类型转换
查看>>