API文档

调用方式 签名方法

签名方法

最近更新时间:2021-01-20 09:47:08

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
&timestamp=1521005892713

最终字符串
apiKey=c7722149110b7492a2e5cf1d8f3f966b&domain=dns.com
&timestamp=1521005892713ecb4ff0e877a83292b9f35067e9ae673

生成签名串

使用签名算法(MD5)对上一步中获得的 最终字符串 进行签名,即可获得最终的签名串。

具体代码如下,以 PHP 语言为例,由于本例中所用的签名算法为 MD5,因此生成签名串的代码如下(使用其它程序设计语言开发时,可用上述示例中的原文字符串进行签名验证,得到的签名串与例子中的一致即可):

$lastStr = 'apiKey=c7722149110b7492a2e5cf1d8f3f966b&domain=dns.com
&timestamp=1521005892713ecb4ff0e877a83292b9f35067e9ae673';
$signStr = md5($lastStr);
echo $signStr;

最终得到的签名串为:

5291f0c69e404da794079adc68b9e5ae 
提示

根据《中华人民共和国网络安全法》及相关法律的规定,用户不提供真实身份信息的,网络运营者不得为其提供相关服务!
详情请查看《DNS.COM账号实名认证公告
请未完成实名认证的用户尽快完善账户实名认证信息!
未通过实名认证的账户将无法进行正常操作,正在运行/已配置好的的产品服务不受影响,可正常生效。

去实名