[英]base64 HMAC with SHA256 in Python
我很難創建簽名。
我需要使用帶有 SHA256 的 HMAC 使用 Checkout Request JSON 和密鑰進行簽名。 我需要通過連接簽名、pipe 字符 (|) 和 Checkout Request JSON 然后用 BASE64 對其進行編碼來做到這一點。
這是我在文檔中找到的公式:
$signed_checkout_request = base64( hmac_sha256( $checkout_request, $private_key ) + "|" + $checkout_request )
我是根據一些在線代碼制作的:
import hashlib
import hmac
import base64
checkout_request = '{"charge":{"amount":499,"currency":"EUR"}}'.encode('utf-8');
private_key = b'44444444444';
digest = hmac.new(private_key, msg=checkout_request, digestmod=hashlib.sha256).digest()
signature = base64.b64encode(digest).decode()
但是我不確定如何獲得“|” 進去。 老實說,我也不確定我是否走在正確的軌道上……我在這部分沒有太多經驗,而且我在谷歌搜索上也失敗了。
private_key = 'blahblahblah'
checkout_request = json.dumps({"charge":{"amount":4999,"currency":"EUR"}}, sort_keys=True, separators=(",", ":"))
digest = hmac.new(private_key.encode(), msg=checkout_request.encode(), digestmod=hashlib.sha256,).hexdigest()
signature = base64.b64encode((digest + "|" + checkout_request).encode()).decode()
我能夠讓它與它一起工作:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.