账户和调用加密
94ETH API通用加密方法
为了保护用户资产安全,所有API调用都需要加密验证.
接入94ETH API, 加密步骤如下:

获取账户ID, Secret

登录工具站,获取账户ID和key, secret

生成加密原文

获取API full path

API full path是除去https://api.94eth.com/api前缀后剩下的full path(包括query参数)
例如, 撤销收款订单API:
1
https://api.94eth.com/api/api/cancel_order?order_id=4
Copied!
去除前缀后为:
1
/api/cancel_order?order_id=4
Copied!

添加认证参数

在上一步full path后添加account id, key, secret, timestamp, uniq:
account=${account id}&timestamp=${timestamp}&key=${key}&encrypt=${secret}&uniq=${uniq}
    account id
账户id
    key, secret
认证参数
    timestamp
Unix time in Seconds, 如果timestamp与服务器时间相差过大,调用非法
    uniq
调用者提供的一个数字, 在account粒度的所有api调用, 同一个uniq值不能在三分钟内重复出现, 防止重放攻击.
继续上个例子,添加认证参数后, url变成: [注意secret填入的key为encrypt]
1
/api/cancel_order?order_id=4&account=3&timestamp=1559623671&key=fedd9a91-3bc3-44b1-85f6-d4d315acac28&encrypt=3d25e631c3482288ff885663d48721eb&uniq=4510
Copied!

生成加密值,替换secret

生成加密值

对上一步生成的原文进行哈希,生成加密值m
1
m = MD5(url)
Copied!

替换secret

用加密得到的密文替换原url中的secret值

调用API

用最后得到的url发出API调用
1
https://www.94eth.com/api/api/load_eth_bill_addr?account=1&timestamp=1559623671&key=fedd9a91-3bc3-44b1-85f6-d4d315acac28&encrypt=3d25e631c34822885663d48721eb&uniq=4510
Copied!
Last modified 2yr ago