签名的例子¶
假设您有以下的应用密钥和密文:
{
"apiKey": "test_api_key",
"apiSecret": "test_api_secret"
}
并且您想要发送以下的请求参数:
{
"foo": "bar",
"egg": "spam"
}
1.添加额外的参数:
{
"foo": "bar",
"egg": "spam",
"timestamp": 1514736000000,
"apiKey": "test_api_key"
}
2.把参数按照键名排序:
['apiKey', 'egg', 'foo', 'timestamp']
3.对于每个参数,拼接键名和键值:
['apiKeytest_api_key', 'eggspam', 'foobar', 'timestamp1514736000000']
4.拼接所有的到的字符串:
apiKeytest_api_keyeggspamfoobartimestamp1514736000000
5.追加应用密文:
apiKeytest_api_keyeggspamfoobartimestamp1514736000000test_api_secret
6.计算 sha256 哈希的十六进制表示:
bf67314ff91f39952a267fb4bf3f9ed2b53f813cdcfba610f9d8643038a17326
7.将签名加回请求参数:
{
"foo": "bar",
"egg": "spam",
"timestamp": 1514736000000,
"apiKey": "test_api_key",
"signature": "bf67314ff91f39952a267fb4bf3f9ed2b53f813cdcfba610f9d8643038a17326"
}
这些就是你最终需要发送的参数。