签名方法
最近更新时间:2025-11-26 11:27:32
前置条件
- 在使用签名方法之前,您需要获取
access_key和secret_key。如果您还没有获取密钥,请参阅密钥管理指南来创建并保存您的密钥。 - 使用 access key 方式访问服务时,需要在请求 header 中设置
X-AUTH-TYPE值为AK。
签名参数
| 参数 | 类型 | 说明 |
|---|---|---|
| access_key | string | 接入应用标识 |
| secret_key | string | 加密密钥 |
| nonce | string | unix时间戳,服务端会校验与当前的时间误差30秒 |
| signature | string | 签名 |
请求服务时,nonce、access_key、signature 设置在 URI 的 querystring 中,同时需要在请求 header 中设置 X-AUTH-TYPE 值为 AK,例如:
/gpu/api/v1/service/cloudregion?pageIdx=1&access_key=xx&nonce=123456&signature=xx
请求头设置:
X-AUTH-TYPE: AK
签名算法
- 参与签名的字段不包括
signature。 - 将 JSON 格式的请求参数根据 key 按照 ASCII 码正序排列,生成签名 message。空值不参与签名计算。例如:
pageIdx=1 - 在 message 后面拼接上
nonce和access_key,例如:pageIdx=1123456FkxZwvrgm5tZ2iIW2cv98smcriekvt7uH4PaFieZ - 使用
secret_key对步骤 3 生成的 message 进行 HMAC-SHA256 加密,然后转换成 hex 生成签名 signature,例如:7f2ef8b5f35efc22ebadc59bf4db8bf84995b8e56b6df8d8b030b6e744329bf0 - 最后请求参数加上
signature完成签名,提交服务端校验。