1.签名方法
获取服务列表。
2.申请安全凭证
在第一次使用帝恩思 API 之前,用户需要在 帝恩思 设置中心 > API密钥管理 上查看安全凭证。安全凭证包括 apiKey 和 apiSecret,其中:
apiKey:用于标识 API 调用者身份;
apiSecret:用于加密签名字符串和服务器端验证签名字符串的密钥。
3.生成签名串
有了安全凭证 apiKey 和 apiSecret 后,就可以生成签名串了。生成签名串的详细过程如下:
对参数排序
首先对所有请求参数按参数名做字典序升序排列。(所谓字典序升序排列,直观上就如同在字典中排列单词一样排序,按照字母表或数字表里递增顺序的排列次序,即先考虑第一个“字母”,在相同的情况下考虑第二个“字母”,依此类推。)您可以借助编程语言中的相关排序函数来实现这一功能,如 php 中的 ksort 函数。上述示例参数的排序结果如下:
{
"apiKey":"c7722149110b7492a2e5cf1d8f3f966b",
"domain":"dns.com",
"timestamp":"1521005892713"
}
使用其它程序设计语言开发时, 可对上面示例中的参数进行排序,得到的结果一致即可。
拼接字符串
将把上一步排序好的请求参数格式化成“参数名称”=“参数值”的形式,如对 domain 参数,其参数名称为"domain",参数值为"dns.com",因此格式化后就为 domain=dns.com,并且把 apiSecret 拼接到字符串的最后。
请求字符串
apiKey=c7722149110b7492a2e5cf1d8f3f966b&domain=dns.com
×tamp=1521005892713
最终字符串
apiKey=c7722149110b7492a2e5cf1d8f3f966b&domain=dns.com
×tamp=1521005892713ecb4ff0e877a83292b9f35067e9ae673
生成签名串
使用签名算法(MD5)对上一步中获得的 最终字符串 进行签名,即可获得最终的签名串。
具体代码如下,以 PHP 语言为例,由于本例中所用的签名算法为 MD5,因此生成签名串的代码如下(使用其它程序设计语言开发时,可用上述示例中的原文字符串进行签名验证,得到的签名串与例子中的一致即可):
$lastStr = 'apiKey=c7722149110b7492a2e5cf1d8f3f966b&domain=dns.com
×tamp=1521005892713ecb4ff0e877a83292b9f35067e9ae673';
$signStr = md5($lastStr);
echo $signStr;
最终得到的签名串为:
5291f0c69e404da794079adc68b9e5ae