签名算法
来自云登录
(版本间的差异)
(以“__NOTOC__ ===概述=== 为了确保应用与云登入API 服务器之间的安全通信,防止数据篡改等恶意攻击,云登入API 服务器使用了签名...”为内容创建页面) |
|||
(未显示1个用户的1个中间版本) | |||
第5行: | 第5行: | ||
===算法=== | ===算法=== | ||
− | 假设某个云登入API需要3个参数,分别是“k1”、“k2”、“k3”,它们的值分别是“v1”、“v2”、“v3”,调用云登入API的应用的api | + | 假设某个云登入API需要3个参数,分别是“k1”、“k2”、“k3”,它们的值分别是“v1”、“v2”、“v3”,调用云登入API的应用的api Key为“api_key”,计算方法如下所示。注意:这些参数中不包含sige(签名)参数,因为sig参数的值此时没有计算出来。 |
− | + | A、将请求参数格式化为“keyvalue”格式,即“k1v1”、“k2v2”、“k3v3”; | |
− | + | B、将上诉格式化好的参数键值对,以字典序升序排列后,拼接在一起,即“k1v1k2v2k3v3”; | |
C、在上拼接好的字符串末尾追加上应用的api Key; | C、在上拼接好的字符串末尾追加上应用的api Key; | ||
D、上述字符串的MD5值即为签名的值。 | D、上述字符串的MD5值即为签名的值。 |
2012年5月4日 (五) 18:17的最后版本
概述
为了确保应用与云登入API 服务器之间的安全通信,防止数据篡改等恶意攻击,云登入API 服务器使用了签名机制(即sign参数)来认证应用。签名是由请求参数和应用的api Key经过MD5加密后生成的字符串。应用在调用云登入API之前,要计算出签名,并追加到请求参数中。
算法
假设某个云登入API需要3个参数,分别是“k1”、“k2”、“k3”,它们的值分别是“v1”、“v2”、“v3”,调用云登入API的应用的api Key为“api_key”,计算方法如下所示。注意:这些参数中不包含sige(签名)参数,因为sig参数的值此时没有计算出来。
A、将请求参数格式化为“keyvalue”格式,即“k1v1”、“k2v2”、“k3v3”;
B、将上诉格式化好的参数键值对,以字典序升序排列后,拼接在一起,即“k1v1k2v2k3v3”;
C、在上拼接好的字符串末尾追加上应用的api Key;
D、上述字符串的MD5值即为签名的值。