接口签名规则

为防止第三方应用调用平台接口过程中,所传递的请求参数被篡改,开放平台接口采用了接口参数签名的机制,即通过验证接口参数签名的方式,更大程度地确保了第三方应用与开放平台平台之间接口调用过程的安全性。一方面用来验证客户身份,另一方面用来检查客户方的请求是否安全可靠。

1)、服务端先要给开发者分配一个appcode与appsecret (正常情况下,开发者要到晋来办申请),作为三方接入方需要保留好颁发的appcode 和appsecret。

2)、appcode会在请求中作为一个应用标识参与接口请求的参数传递,appsecret将作为唯一不需要参数传递,但是它将作为验证当前请求的关键参数,只有应用开发者和颁发的服务端才知道。

3)、timestamp时间戳(10 位数字)生成方式:timestamp = System.currentTimeMillis()/1000+""

4)、接口参数签名,即sign参数获取,将请求中的除sign外的所有参数,格式化为“key=value”格式,如“k1=v1”、“k2=v2”、“k3=v3”。将格式化好的参数键值对以字典序升序排列后,用&号拼接在一起,如“k1=v1&k2=v2&k3=v3”+appsecret(注:非必传参数为空时则不参与拼接),排序后字符串以MD5(UTF-8)格式签名(小写),即为sign值sign = md5(temp_str)。

注意:请保证HTTP请求数据编码务必为UTF-8格式,URL也务必为UTF-8编码格式。