Sinegy API 签名,HMAC-SHA25,并以 base64 格式编码

发布于 2025-01-15 14:38:48 字数 792 浏览 3 评论 0原文

有人可以帮我处理 sinegy API 签名吗?这就是他们要问的:

使用完整签名身份验证的 API 方法需要请求标头中的 api-key 和请求正文中的 api-signature。

API 签名是一条编码消息,其中包含:

字符串请求参数
API函数方法
API函数路径
API秘密

这些属性必须用竖线分隔 线 |分隔符,采用 HMAC-SHA25 进行哈希处理,并采用 Base64 格式进行编码。

我对 API 签名没有任何经验,这是我迄今为止尝试过的:

secret = '$KDcKdsemlwJ6Vmj05f5NOQ4e.'

digest = hmac.new(
    secret.encode(),
    'ghjfghjfgh|fjkghkghj|ghjkghjk|ljklhjklh'.encode(),
    hashlib.sha256
)
signature = base64.b64encode(digest.digest())

这是他们的示例签名:8asufaol53wad, 但我收到的是: b'qCTV/psNaUdZt/F+0QMhDISb/n4yYuYrK7YG8aMCC7U='

这是他们完整的 API 文档:https://docs.sinegy.com/#tag/Authentication

Can somebody help me with sinegy API signature? This is what they are asking:

API methods that use full signed authentication requires api-key in the request header and api-signature in the request body.

API signature is an encoded message which contains:

Stringed request parameters
Method of API function
Path of API function
API secret

These attributes must be separated by the vertical
line | delimiter, hashed in HMAC-SHA25, and encoded in base64 format.

I don't have any experience with API signatures, this is what I tried so far:

secret = '$KDcKdsemlwJ6Vmj05f5NOQ4e.'

digest = hmac.new(
    secret.encode(),
    'ghjfghjfgh|fjkghkghj|ghjkghjk|ljklhjklh'.encode(),
    hashlib.sha256
)
signature = base64.b64encode(digest.digest())

This is what their example signature looks like: 8asufaol53wad,
but what I receive is: b'qCTV/psNaUdZt/F+0QMhDISb/n4yYuYrK7YG8aMCC7U='

Here is their full API doc: https://docs.sinegy.com/#tag/Authentication

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

星光不落少年眉 2025-01-22 14:38:48

试试这个:

api_secret = "$KDcKdsemlwJ6Vmj05f5NOQ4e."
str_to_sign = "ghjfghjfgh|fjkghkghj|ghjkghjk|ljklhjklh"
signature = base64.b64encode(hmac.new(api_secret.encode('utf-8'), str_to_sign.encode('utf-8'), hashlib.sha256).digest())

Try this:

api_secret = "$KDcKdsemlwJ6Vmj05f5NOQ4e."
str_to_sign = "ghjfghjfgh|fjkghkghj|ghjkghjk|ljklhjklh"
signature = base64.b64encode(hmac.new(api_secret.encode('utf-8'), str_to_sign.encode('utf-8'), hashlib.sha256).digest())
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文