ASP.NET MVC 微信公共平台开发之获取用户消息并处理
ASP.NET MVC 微信公共平台开发 获取用户消息并处理
消息格式已经有了,接着我们只需要设置相应的参数即可。 responseContent = string.Format(ReplyType.Message_Text, FromUserName.InnerText, ToUserName.InnerText,1)"> DateTime.Now.Ticks, String.IsNullOrEmpty(reply)?"Sorry,I can not follow you." :reply); 3.用户消息与服务器消息的加密解密 微信公共平台开发者文档中提供有c++,C#,java等各种语言的加密解密示例,我们用到的是C#,只需要将其中的两个文件添加到项目中即可,Sample.cs是微信团队给出的示例代码,不需要引用,对 WXBizMsgCrypt.cs与Cryptography.cs文件添加引用即可。为了进一步封装和方便调用,我又新建了一个类WeChatSecurityHelper 类中的定义两个方法,分别来进行加密(EncryptMsg)和解密(DecryptMsg),创建一个WXBizMsgCrypt对象,调用它的方法加解密,具体代码可见代码示例 1 using System; 2 System.Collections.Generic; 3 System.Linq; 4 System.Text; 5 System.Threading.Tasks; 6 7 namespace Common 8 { 9 public class WeChatSecurityHelper 10 { 11 /// <summary> 12 /// 定义Token,与微信公共平台上的Token保持一致 13 </summary> 14 private const string Token = "StupidMe"; 15 16 AppId 要与 微信公共平台 上的 AppId 保持一致 17 18 string AppId = 2222222222119 20 加密用 21 22 string AESKey = pvX2KZWRLQSkUAbvArgLSAxCwTtxgFWF3XOnJ9iEUMG23 24 static Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(Token,AESKey,AppId); 25 string signature,timestamp,nonce; 26 static LogHelper logger = new LogHelper(typeof(WeChatSecurityHelper)); 27 28 29 public WeChatSecurityHelper(string signature,string timestamp,1)"> nonce) 30 { 31 this.signature = signature; 32 this.timestamp = timestamp; 33 this.nonce = nonce; 34 } 35 36 37 加密消息 38 39 <param name="msg">要加密的消息</param> 40 <returns>加密后的消息</returns> 41 string EncryptMsg( msg) 42 43 string encryptMsg=""44 int result = wxcpt.EncryptMsg(msg,nonce,1)">ref encryptMsg); 45 if (result == 0) 46 { 47 return encryptMsg; 48 } 49 else 50 51 logger.Error(消息加密失败); 52 return 53 54 55 56 57 解密消息 58 59 消息体60 明文消息61 string DecryptMsg(62 63 string decryptMsg = 64 int result = wxcpt.DecryptMsg(signature,msg,1)"> decryptMsg); 65 if (result != 66 67 logger.Error(消息解密失败,result:"+result); 68 69 decryptMsg; 70 71 } 72 } ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET Core MVC 过滤器的使用方法介绍
- 即使模型无效,ASP.NET MVC“Ajax.BeginForm”也执行OnSucce
- asp.net-mvc – 如何在视图中的脚本部分中包含脚本包
- asp.net – SQL查询无法按预期工作
- asp.net-mvc – 在ASP.NET MVC控制器结果中设置HTTP状态不呈
- ASP.NET MVC Url路由支持(点)
- asp.net-mvc-4 – 在Visual Studio 2017 RC中无法识别ASP.N
- [ASP.NET] 网页导向
- asp.net – Crystal Report Viewer按钮在Google Chrome和Fi
- asp.net – 如何在.aspx页面的文件后面创建多个代码
- Asp.NET MVC视图中的引用
- asp.net-mvc – 在MVC Web API应用程序中跟踪
- asp.net – How2:在HttpModule中挂钩的事件,用于
- asp.net – 获取当前请求的凭据以便在WebRequest
- asp.net – 兼容性问题是IE10
- iis – 诊断Classic ASP中的HTTP 500错误
- asp.net-mvc – 如何使用ASP.NET MVC 2在NHibern
- 在ASP.NET部分回发期间打开时的jQueryUI datepic
- asp.net – 从网站下载后文件上的数字签名
- asp.net-mvc – 如何防止HttpUnauthorizedResult