using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
using System.Web;
using System.Web.Http;
using System.Xml;
namespace DellacCSSWeb.Controllers
{
public class IMController : ApiController
{
[HttpPost]
public string ResetPassWord()
{
try
{
Stream stream = HttpContext.Current.Request.InputStream;
Byte[] postBytes = new Byte[stream.Length];
stream.Read(postBytes, 0, (Int32)stream.Length);
string postString = Encoding.UTF8.GetString(postBytes);
XmlDocument doc = new XmlDocument();
doc.LoadXml(postString);
XmlNode nodexml = doc.SelectSingleNode("xml");
string MsgType = nodexml.SelectSingleNode("MsgType").InnerText;
string FromUserName = nodexml.SelectSingleNode("FromUserName").InnerText;
switch (MsgType)
{
case "text":
break;
}
}
catch (Exception e)
{
}
return "";
}
/// <summary>
/// 验证微信签名
/// </summary>
public static bool CheckSignature(string token, string signature, string timestamp, string nonce)
{
string[] ArrTmp = { token, timestamp, nonce };
//字典排序
Array.Sort(ArrTmp);
//拼接
string tmpStr = string.Join("", ArrTmp);
//sha1验证
SHA1 sha1 = new SHA1CryptoServiceProvider();
byte[] bytes_in = Encoding.UTF8.GetBytes(tmpStr);
byte[] bytes_out = sha1.ComputeHash(bytes_in);
sha1.Dispose();
string result = BitConverter.ToString(bytes_out);
tmpStr = result.Replace("-", "");
tmpStr = tmpStr.ToLower();
if (tmpStr == signature)
{
return true;
}
else
{
return false;
}
}
}
}