签名生成方法
- 请求参数加密前为get/post请求时的query string形式的键值对,将所有业务参数按key的字符升序排列,具体可参照jdk中String类的 int compareTo(String str) 方法,推荐使用Collections.sort(list)方法默认处理。
- 按照排序完后的key拼接query string,如k1=v1&k2=v2&k3=v3。
- 最后拼接首汽约车提供的签名sign key,以signKey为key,如k1=v1&k2=v2&k3=v3&signKey=fe123765dc65
以上过程只针对请求参数中的最外层参数,对于列表形式参数,如业务参数中的List集合等,只需将list集合参数名参与排序,而list结合包含的对象及对象包含的参数不需处理。
使用MD5信息摘要算法处理最终的query string字符串,然后按照4bit一组生成32位16进制大写字符串即为验签字符串。