簡體   English   中英

如何使用 api 密鑰和時間戳在 python 中創建簽名,使用 sha256 十六進制加密

[英]How to create a signature in python using an api key and timestamp, with sha256 hex encryption

這是 api 文檔中提供的示例代碼:

#!/bin/bash 
apiKey="yourApiKey"
secret="yourSecret"
curl -i \
-X GET \
-H 'Accept:application/json' \
-H 'Api-key:'$apiKey'' \
-H 'X-Signature:'$(echo -n ${apiKey}${secret}$(date +%s)|sha256sum|awk '{ print $1}')'' \
https://api.test.hotelbeds.com/hotel-api/1.0/status

這就是我在 python 中所做的:

secret = b"Secret key"
apikey = b"Api key"
datenow = str(datetime.datetime.now().timestamp())
datenow = bytes(datenow, 'utf-8')

sig = apikey + secret + datenow

hash = hashlib.sha256(sig).hexdigest()

但是,我收到身份驗證錯誤。 有人可以幫我修復我的代碼嗎?

通過將日期轉換為和 int 然后轉換為 str 解決了問題。

導入 hashlib,時間

string= str(API_KEY).strip()+str(SECRET).strip()+str(int(time.time())).strip()

簽名= hashlib.sha256(string.encode()).hexdigest()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM