跳到主要内容

签名说明

由于 J2coin.com 需要为第三方平台提供一些开放性的接口,所以需要接口的数据安全问题,比如数据是否被篡改、数据是否已过时、数据是否可以重复提交、接口在某个时间内访问频率等问题。其中数据是否被篡改是最重要的。

  1. 先通过用户中心申请 appkeysecretkey,针对不同的调用,提供不同的 appkey 和 secretkey

  2. 加入 timestamp(时间戳),其值应当是请求发送时刻的 unix 时间戳(毫秒),数据的有效时间根据此值来计算。

  3. 加入 signature(数据签名),所有数据的签名信息。

  4. 加入 recvwindow(自定义请求有效时间),有效时间目前相对简单统一固定为某个值。

服务器收到请求时会判断请求中的时间戳,最长 60 秒,最小为 2 秒,如果是 5000 毫秒之前发出的,则请求会被认为无效。这个时间窗口值可以通过发送可选参数 recvWindow 来设置。另外,如果服务器计算得出客户端时间戳在服务器时间的"未来"一秒以上,也会拒绝请求。关于交易时效性 互联网状况并不 100% 可靠,不可完全依赖,因此你的程序本地到 J2coin.com 服务器的时延会有抖动. 这是我们设置 recvwindow 的目的所在,如果你从事高频交易,对交易时效性有较高的要求,可以灵活设置 recvwindow 以达到你的要求。

不推荐使用 5 秒以上的 recvwindow

  1. 加入 algorithms(签名方法/算法),用户计算签名是基于哈希的协议,推荐使用 HmacSHA256。具体支持那些协议,请参见下面表格中所列出。
HmacMD5、HmacSHA1、HmacSHA224、HmacSHA256(recommended)、HmacSHA384、HmacSHA512