【发布时间】:2018-12-05 16:42:58
【问题描述】:
下面的系统如何应用到php上?
StringToSign = HTTPMethod+":"+RelativeUrl+":"+AccessToken+":"+
Lowercase(HexEncode(SHA-256(RequestBody)))+":"+Timestamp
Signature = HMAC-SHA256(apiSecret, StringToSign)
我的脚本:
$encoderData = json_encode($bodyToHash, JSON_UNESCAPED_SLASHES);
$hash = hash("sha256", $encoderData);
$stringToSign = $Method. ":" .$url . ":" . $auth_token . ":" . $hash . ":" . $Timestamp;
$auth_signature = hash_hmac('sha256', $secret_key, $stringToSign,false);
谢谢,
【问题讨论】:
-
php.net/manual/en/function.hash-hmac.php,其余的看起来比较明显,你试过什么?
-
如何做这个系统“小写(HexEncode(SHA-256(RequestBody)))”
-
strtolower(bin2hex(hash("sha256", $encoderData)))也许 -
小写字母(HexEncode(SHA-256(RequestBody))) 的正确答案是否正确? @Azivans