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

简介: static void Main(string[] args){ Dictionary map = new Dictionary(); map.

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文本

相关文章
|
6月前
|
设计模式 缓存 算法
JAVA设计模式14:策略模式,使算法的变化独立于使用它的客户端
JAVA设计模式14:策略模式,使算法的变化独立于使用它的客户端
|
8月前
|
算法 测试技术 Android开发
Android逆向——定位到某书 Sign 算法(下)
Android逆向——定位到某书 Sign 算法(下)
|
8月前
|
设计模式 算法 Java
Android逆向——定位到某书 Sign 算法(上)
Android逆向——定位到某书 Sign 算法
|
8月前
|
算法 Java 数据安全/隐私保护
Crack App | yrx App 对抗赛第一题 Sign 算法的还原
Crack App | yrx App 对抗赛第一题 Sign 算法的还原
Crack App | yrx App 对抗赛第一题 Sign 算法的还原
|
缓存 负载均衡 监控
近期业务大量突增微服务性能优化总结-1.改进客户端负载均衡算法
近期业务大量突增微服务性能优化总结-1.改进客户端负载均衡算法
|
缓存 算法 网络协议
【Java 网络编程】客户端 Socket 配置 ( 超时时间 | 端口复用 | Nagle 算法 | 心跳包机制 | 连接关闭机制 | 缓冲区大小 | 性能权重设置 | 紧急数据设置 )
【Java 网络编程】客户端 Socket 配置 ( 超时时间 | 端口复用 | Nagle 算法 | 心跳包机制 | 连接关闭机制 | 缓冲区大小 | 性能权重设置 | 紧急数据设置 )
897 0
|
机器学习/深度学习 存储 编解码
PixelAI : 手淘客户端上的实时视觉算法应用
基于PixelAI上层视频业务可以快速搭建符合自身业务特色的实时交互视觉特效。在LiveVideoStackCon2019上海大会中,淘宝高级算法专家李晓波详细介绍了手淘在实现客户端上基于深度学习的视觉算法应用时如何在资源受限的情况下达到性能与效果之间的平衡。
445 0
PixelAI : 手淘客户端上的实时视觉算法应用
|
算法 Java 程序员
客户端用不着的数据结构之并查集 | 算法必看系列二十二
并查集可以看作是一个数据结构,如果你根本没有听说过这个数据结构,那么你第一眼看到 “并查集” 这三个字的时候,脑海里会浮现一个什么样的数据结构呢?拆分来看就是:1、并查集可以进行集合合并的操作(并)2、并查集可以查找元素在哪个集合中(查)3、并查集维护的是一堆集合(集)。