期望这一系列函数生成一个32个字符长的签名,以便通过OAuth v1进行身份验证。
$h = hash_hmac("sha1", $url, $key, $raw_output=TRUE);
$signature = base64_encode($h);
然而,它始终产生一个30个字符长的签名,即使我改变$url参数。我是否理解如何创建OAuth签名?
sha1产生20个字节。由于base64将增加这里提到的字符串长度,这将产生一个28个字符长的字符串(如果在签名上调用urlencode
,这个字符串可能更长)。
我对oauth不太熟悉,但是在规范中似乎没有任何东西要求32个字符的签名