在PHP上生成HMAC签名

时间:2018-11-21 03:59:35

标签: php sha256 hmac

您如何将以下系统应用于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);

谢谢

2 个答案:

答案 0 :(得分:0)

我不知道你的意思,但是 您可以尝试这个;

<?php
    $stringToSign = 'abcd';
    $apiSecret = 'secretkey';

    $hashed = hash_hmac('sha256', $stringToSign, $apiSecret);
?>

答案 1 :(得分:0)

在做一些BCA的东西吗? :p

如果您想使用GET,可以使用此功能:

strtolower(hash('sha256', ''));