Mercurial > nebulaweb3
view default/assets/vendors/theme-widgets/vendor/abraham/twitteroauth/src/HmacSha1.php @ 0:1d038bc9b3d2 default tip
Up:default
author | Liny <dev@neowd.com> |
---|---|
date | Sat, 31 May 2025 09:21:51 +0800 |
parents | |
children |
line wrap: on
line source
<?php /** * The MIT License * Copyright (c) 2007 Andy Smith */ namespace Abraham\TwitterOAuth; /** * The HMAC-SHA1 signature method uses the HMAC-SHA1 signature algorithm as defined in [RFC2104] * where the Signature Base String is the text and the key is the concatenated values (each first * encoded per Parameter Encoding) of the Consumer Secret and Token Secret, separated by an '&' * character (ASCII code 38) even if empty. * - Chapter 9.2 ("HMAC-SHA1") */ class HmacSha1 extends SignatureMethod { /** * {@inheritDoc} */ public function getName() { return "HMAC-SHA1"; } /** * {@inheritDoc} */ public function buildSignature(Request $request, Consumer $consumer, Token $token = null) { $signatureBase = $request->getSignatureBaseString(); $parts = [$consumer->secret, null !== $token ? $token->secret : ""]; $parts = Util::urlencodeRfc3986($parts); $key = implode('&', $parts); return base64_encode(hash_hmac('sha1', $signatureBase, $key, true)); } }