前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[2013.9.24]贴吧客户端sign的算法。。。

[2013.9.24]贴吧客户端sign的算法。。。

作者头像
ApacheCN_飞龙
发布2019-02-15 11:21:20
1.8K0
发布2019-02-15 11:21:20
举报
文章被收录于专栏:信数据得永生信数据得永生
代码语言:javascript
复制
static void Main(string[] args)
{
    Dictionary<string, string> map
      = new Dictionary<string, string>();
    map.Add("name1", "value1");
    map.Add("name2", "value2");
    //...
    StringBuilder poststr = new StringBuilder();
    StringBuilder tosign = new StringBuilder();
    foreach (var elem in map)
    {
        poststr.Append(elem.Key).Append("=")
               .Append(HttpUtility.UrlEncode(elem.Value, Encoding.UTF8))
               .Append("&");
        tosign.Append(elem.Key).Append(elem.Value);
    }
    tosign.Append("tiebaclient!!!");
    poststr.Append("sign=").Append(MD5Encrypt(tosign.ToString(), Encoding.UTF8));
    Console.WriteLine(poststr.ToString());

}

static string MD5Encrypt(string text, Encoding enco)
{
    byte[] input = enco.GetBytes(text);
    MD5CryptoServiceProvider md5
      = new MD5CryptoServiceProvider();
    byte[] output = md5.ComputeHash(input);
    StringBuilder sb = new StringBuilder();
    foreach (byte x in output)
      sb.AppendFormat("{0:X2}", x);
    return sb.ToString();
}

1.提交内容所有的name-value值对 按照name的字典序升序排列(要是不知道就以抓包出来的顺序为准) 之后后面加上”tiebaclient!!!” 并去掉”&”这个字符 2.以UTF-8编码计算md5值 计算md5的时候应该输入一个byte[] 以UTF-8编码getbytes就好 3.在原始的提交内容(不带”tiebaclient”,但是带”&”)后面加上”&sign=” 然后在加上刚才的md5文本

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年05月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档