• 技术文章 >微信小程序 >微信开发

    c#开发微信实现jssdk签名生成

    高洛峰高洛峰2017-03-24 14:18:29原创1452
    这篇文章讲解的的比较详细,而且算法准确,但是这篇文章有几个错误的地方需要注意;

    url必须动态生成

    url不能写死,否则就算结果和官方检测的一致,也只会是无效的

    string url = Request.Url.ToString();

    noncestr必须动态生成

    noncestr也是动态获取的,不能写死

    ///<summary>
            ///生成随机字符串 
            ///</summary>
            ///<param name="length">目标字符串的长度</param>
            ///<param name="useNum">是否包含数字,1=包含,默认为包含</param>
            ///<param name="useLow">是否包含小写字母,1=包含,默认为包含</param>
            ///<param name="useUpp">是否包含大写字母,1=包含,默认为包含</param>
            ///<param name="useSpe">是否包含特殊字符,1=包含,默认为不包含</param>
            ///<param name="custom">要包含的自定义字符,直接输入要包含的字符列表</param>
            ///<returns>指定长度的随机字符串</returns>
            public static string GetRandomString(int length, bool useNum, bool useLow, bool useUpp, bool useSpe, string custom)
            {
                byte[] b = new byte[4];
                new System.Security.Cryptography.RNGCryptoServiceProvider().GetBytes(b);
                Random r = new Random(BitConverter.ToInt32(b, 0));
                string s = null, str = custom;
                if (useNum == true) { str += "0123456789"; }
                if (useLow == true) { str += "abcdefghijklmnopqrstuvwxyz"; }
                if (useUpp == true) { str += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; }
                if (useSpe == true) { str += "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"; }
                for (int i = 0; i < length; i++)
                {
                    s += str.Substring(r.Next(0, str.Length - 1), 1);
                }
                return s;
            }

    官方给取的例子长度为16,含大小写和数字,没有特殊字符串

    var noncestr = GetRandomString(16, true, true, true, false,"");

    以上就是c#开发微信实现jssdk签名生成的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:微信开发
    上一篇:微信接口开发的详细介绍 下一篇:使用web api开发微信公众号调用图灵机器人接口的方法
    Web大前端开发直播班

    相关文章推荐

    • 微信支付开发全网发布• 微信公众开发使用消息接的方法• C#开发微信门户及应用(1)--开始使用微信接口• NodeJs开发微信公众号微信事件交互实例代码• 微信聊天记录被删除了怎么恢复

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网