架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 40516|回复: 1

[资料] c#/.net微信开发获取js-sdk签名

[复制链接]
发表于 2016-9-1 08:55:50 | 显示全部楼层 |阅读模式
[源码].net/c#微信智能聊天gis位置信息扫一扫获取图片功能
http://www.itsvse.com/thread-3059-1-1.html
(出处: 码农网)

上面有完整的源代码:

我把获取js-sdk签名的代码复制过来了,代码如下:

  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Security.Cryptography;
  6. using System.Text;

  7. namespace WeChat.BLL
  8. {
  9.     public class WeChatSign
  10.     {
  11.         /// <summary>
  12.         /// JS-SDK签名
  13.         /// </summary>
  14.         /// <param name="url"></param>
  15.         /// <param name="noncestr"></param>
  16.         /// <param name="time"></param>
  17.         /// <returns></returns>
  18.         public static string Sign(string url,string noncestr,string time)
  19.         {
  20.             Dictionary<string, string> dic = new Dictionary<string, string>();
  21.             dic.Add("noncestr", noncestr);
  22.             dic.Add("jsapi_ticket", Config.JSAPI_TICKET);
  23.             dic.Add("timestamp", time);
  24.             dic.Add("url", url);
  25.             ArrayList akeys = new ArrayList(dic.Keys);
  26.             akeys.Sort();
  27.             StringBuilder sb = new StringBuilder();
  28.             foreach (string k in akeys)
  29.             {
  30.                 sb.Append(k + "=" + dic[k] + "&");
  31.             }
  32.             //去掉最后一个符号
  33.             sb.Remove(sb.Length - 1, 1);
  34.             return SHA1(sb.ToString()).ToLower();
  35.         }

  36.         /// <summary>
  37.         /// sign签名
  38.         /// </summary>
  39.         /// <param name="dic"></param>
  40.         /// <returns></returns>
  41.         public static string Sign(string[] dic)
  42.         {
  43.             //将token、timestamp、nonce三个参数进行字典序排序
  44.             Array.Sort(dic);//字典排序
  45.             string tmpStr = string.Join("", dic);
  46.             return SHA1(tmpStr).ToLower();
  47.         }

  48.         /// <summary>
  49.         /// sha1加密
  50.         /// </summary>
  51.         /// <param name="text"></param>
  52.         /// <returns></returns>
  53.         private static string SHA1(string text)
  54.         {
  55.             byte[] cleanBytes = Encoding.Default.GetBytes(text);
  56.             byte[] hashedBytes = System.Security.Cryptography.SHA1.Create().ComputeHash(cleanBytes);
  57.             return BitConverter.ToString(hashedBytes).Replace("-", "");
  58.         }

  59.     }
  60. }
复制代码






上一篇:关于“码农网”的简介
下一篇:c# 可空类型转换为非空类型
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2021-7-11 16:13:57 | 显示全部楼层
看看 MB难得啊
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-12-21 23:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表