跳转至

SDK数据请求签名生成规则

1. 参数信息

小雪球将会提供以下几个参数供游戏服务端接口请求验证时使用

参数名 说明
instanceKey 游戏实例Key
instanceSecret 游戏实例Secret

2. 数据请求签名

为了确保数据传递过程中的有效性和安全性,必须在每次数据交互中添加签名sign参数(请求方生成签名,接收方校验签名)

2.1 生成

注意事项

  • 数据签名是一个 MD5 字符串,将发送的数据的参数名与参数值按一定顺序拼接起来生成字符串 A,字符串 A 再和 Secret 拼接得到字符串 B,对字符串 B 进行 MD5 后得到数据签名字符串
  • instanceSecret 是由小雪球提供
  • 所有的参数都要参与排序
  • 对所有的参数排序后(参数名按照字母顺序进行排序),根据顺序依次取出参数名与参数值进行拼接生成字符串 A
  • 用于生成字符串 A 的所有参数值必须是原始值
  • 用于生成字符串 A 的所有参数值区分大小写
  • 所有字符串的前后都没有空格

2.2 举例

假如提供以下参数信息:

// 应用实例secret
instanceSecret: a5e283b0b4267f3dc9c36203eaf88cae

// 参数
aa: 100000
ab: 1
bc: 2

第一步

对所有的参数按参数名的字母顺序进行排序,参数名与参数值之间使用=号相连,参数与参数之间使用&连接。

aa=100000&ab=1&bc=2

第二步

instanceSecret的值拼接在上面字符串的后面

aa=100000&ab=1&bc=2a5e283b0b4267f3dc9c36203eaf88cae

第三步

将上面拼接后的字符串进行md5加密,得到32位的小写字符串

md5("aa=100000&ab=1&bc=2a5e283b0b4267f3dc9c36203eaf88cae") = "566c6608b53223ba51480ce8b79bffc2"

第四步

在接口请求中,将上面生成的值赋给参数sign

aa=100000&ab=1&bc=2&sign=566c6608b53223ba51480ce8b79bffc2