我想将我的访问者转发到第三方付费网站。这个第三方将处理他们的付款,并将一个64字符的令牌POST给我,该令牌由一个唯一的订单号和共享密码生成,使用PHP的hash_hmac,使用sha256算法,如下所示:
$token = hash_hmac("sha256", "12345", "sharedpassword");
然后,我想在我的端上使用相同的算法来生成(希望)相同的令牌,以验证用户是否已经付款。问题是我找不到一个等效的函数,也找不到在Python中复制该函数的方法。我最接近的是Python的hashlib,但似乎没有一个函数可以接受两个参数——数据和共享密码。有人知道在这种情况下适用的hash_hmac的等价物吗?
您需要hmac
。
hmac.new("sharedpassword", "12345", hashlib.sha256).hexdigest()
或在python 3:中
hmac.new(bytes("sharedpassword", 'UTF-8'), "12345".encode(), hashlib.sha256).hexdigest()