hash_hmac()返回30个字符的签名,而不是32个字符的签名

时间:2015-08-17 14:07:11

标签: php oauth hmacsha1

期望这些系列函数能够生成32个字符长的签名,以便通过OAuth v1进行身份验证。

    $h = hash_hmac("sha1", $url, $key, $raw_output=TRUE);
    $signature = base64_encode($h);

然而,即使我更改$ url参数,它也始终产生30个字符长的签名。我了解如何创建OAuth签名吗?

1 个答案:

答案 0 :(得分:0)

sha1产生20个字节。由于base64会增加字符串长度as mentioned here,这将产生一个长度为28个字符的字符串(如果您在签名上调用urlencode,这可能会更长)。

我对oauth并不熟悉,但规范中似乎没有任何要求32个字符签名的内容。