hash_hmac () возвращает 30-символьную подпись, а не 32-символьную подпись

Ожидается, что эти серии функций создадут 32-символьную подпись для аутентификации через OAuth v1.

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

Однако он постоянно генерирует 30-символьную подпись, даже когда я изменяю параметры $ url. Я понимаю, как создавать подписи OAuth?

0

Решение

sha1 производит 20 байтов. Поскольку base64 увеличит длину строки как упомянуто здесь это приведет к длине строки 28 символов (это может быть больше, если вы звоните urlencode на подписи).

Я не так хорошо знаком с oauth, но в спецификации нет ничего, что требовало бы подписи из 32 символов.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]