售前咨詢(xún):400-100-2938
售前咨詢(xún):400-100-2938
售前咨詢(xún):400-100-2938
在第一次使用云 API 之前,請前往 AccessKey管理頁(yè)面 申請安全憑證。 安全憑證包括 accessId 和 accessSecret
有了安全憑證 accessId 和 accessSecret 后,就可以生成簽名串了。以下是生成簽名串的詳細過(guò)程:
假設用戶(hù)的 accessId 和 accessSecret 分別是:
accessId: abcdefghijklmnop
accessSecret: 098a6bcd4621d383cade4e232627b4f9
注意:這里只是示例,請根據用戶(hù)實(shí)際申請的 accessId 和 accessSecret 進(jìn)行后續操作!
以發(fā)送短信請求為例,當用戶(hù)調用這一接口時(shí),其請求參數可能如下:
名稱(chēng) | 類(lèi)型 | 是否必填 | 說(shuō)明 |
---|---|---|---|
accessId | string | 是 | 密鑰 ID |
timestamp | string | 是 | 當前時(shí)間戳 |
nonce | int | 是 | 隨機正整數 |
phone | string | 是 | 手機號碼,多個(gè)手機號碼用逗號(,)分隔 |
templateCode | string | 是 | 模板編號 |
templateVars | string | 否 | 模板變量 |
首先對所有請求參數按參數名的字典序( ASCII 碼)升序排序。用戶(hù)可以借助編程語(yǔ)言中的相關(guān)排序函數來(lái)實(shí)現這一功能,如 PHP 中的 ksort 函數。上述示例參數的排序結果如下:
{
'accessId' : 'abcdefghijklmnop',
'timestamp' : '1577774759',
'nonce' : 15486598,
'phone': '13800000000',
'templateCode': '100001',
'templateVars': '{"code":12345}',
}
使用其它程序設計語(yǔ)言開(kāi)發(fā)時(shí),可對上面示例中的參數進(jìn)行排序,得到的結果一致即可。
示例的拼接結果為:
accessId=abcdefghijklmnop&nonce=48693365&phone=18306689868&templateCode=100001&templateVars={"code":123123}×tamp=1577412873
此步驟生成簽名串。 首先使用 HMAC-SHA1 算法對上一步中獲得的簽名原文字符串進(jìn)行簽名,然后將生成的簽名串使用 Base64 進(jìn)行編碼,即可獲得最終的簽名串。
具體代碼如下,以 PHP 語(yǔ)言為例
$accessSecret = '098a6bcd4621d383cade4e232627b4f9';
$signStr = 'accessId=abcdefghijklmnop&nonce=48693365&phone=18306689868&templateCode=100001&templateVars={"code":123123}×tamp=1577412873';
$signature = base64_encode(hash_hmac("sha1", $signStr, $accessSecret, true));
echo $signature;
最終得到的簽名串為:
BWo2qLPno5s8ZT3jRAxeDFjNYqk=
Copyright ? Yisu Cloud Ltd. All Rights Reserved. 2018 版權所有
廣州億速云計算有限公司 粵ICP備17096448號-1
粵公網(wǎng)安備 44010402001142號 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證編號:B1-20181529