Coinbase API签名算法详解
3 个回答
Coinbase API 签名其实就是利用自己的私钥对请求参数进行加密验证的过程。具体操作为,将请求路径+方法(GET/POST)+时间戳+请求体等参数拼装成字符串,通过HMAC-SHA256算法,利用您的API Secret对该字符串进行加密生成一个密文串,再将该密文串转换成16进制字符串即为您的API签名。
需要特别注意的是:时间戳需要与服务器时间保持一致,误差范围在15秒内,否则请求将会被拒绝; 参数排序必须按照Coinbase要求来进行。
了解了这个原理,再结合官方文档来调用API会轻松很多。
Coinbase的API签名是通过secret_key对请求中的数据进行HMAC-SHA256算法加密,其中参数是按照字典序排列好形成的query参数格式,计算得出的结果再转化成16进制字符串就是最终发送请求的签名,需要放在请求头的CB-Access-Sign中,由于币安本身限制,所以每秒只能请求一次
Coinbase 的 API 签名方式是拿到 API key 和 secret 后,然后将请求参数按照字母顺序合成 querystring,然后用 HMAC-SHA256 算法通过 secret 加密这个字符串,生成二进制签名并把它转换成一个十六进制字符串放到 HTTP 请求头中,并带上时间戳。