Python 中带有 SHA256 的 base64 HMAC
base64 HMAC with SHA256 in Python
我很难创建签名。
我需要使用结帐请求 JSON 和密钥使用 HMAC 和 SHA256 进行签名。我需要通过连接签名、竖线字符 (|) 和结帐请求 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()
我能够让它与那个一起工作:)
我很难创建签名。
我需要使用结帐请求 JSON 和密钥使用 HMAC 和 SHA256 进行签名。我需要通过连接签名、竖线字符 (|) 和结帐请求 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()
我能够让它与那个一起工作:)