php专区

 首页 > php专区 > PHP应用 > 开放平台 > ASP.NET 实现微信JS-SDK权限签名算法 - 微信公众平

ASP.NET 实现微信JS-SDK权限签名算法 - 微信公众平

分享到:
【字体:
导读:
          签名生成规则如下:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含 及其后面部分)。1、对所有待签名参数按照字典序排序...

签名生成规则如下:

参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分)。

1、对所有待签名参数按照字典序排序,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1(这里需要注意的是所有参数名均为小写字符);

2、对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。

对应的:

string string1 = "jsapi_ticket=" + jsapi_ticket + "&noncestr=" + noncestr+ "×tamp=" + timestamp + "&url=" + url;

和:

string signature = SHA1_Encrypt(string1);

public static string SHA1_Encrypt(string Source_String)
{
    byte[] StrRes = Encoding.Default.GetBytes(Source_String);
    HashAlgorithm iSHA = new SHA1CryptoServiceProvider();
    StrRes = iSHA.ComputeHash(StrRes);
    StringBuilder EnText = new StringBuilder();
     foreach (byte iByte in StrRes)
    {
        EnText.AppendFormat("{0:x2}", iByte);
    }
    return EnText.ToString();
}
  

分享到:
C#微信开发之旅--基本信息的回复 - 微信...
上一篇说到配置和验证《C#微信开发之旅--准备阶段》 下面来实现一下简单的信息回复。 也就是接收XML,返回XML 根据请求的信息类型,创建了一个信息请求类: //微信请求类 public class RequestXML { private String toUserName = String.Empty; /// /// 公众号 /...
App、web、微信,一个都不能少 - 微信公...
  随着移动互联网的爆发,入口之争愈演愈烈。从大的趋势看,App、Web、微信成为最火热的三大入口。这给移动开发者和移动创业者带来新的考验,需要考虑多个入口下的开发与管理。   顺应这种趋势,AppCan全新升级IDE系统,为开发者提供全入口开发支持,即一次开发,多平台、多入口,全适配。基于AppCan新版IDE,开发者可...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……