function LingotekOAuthSignatureMethod_HMAC_SHA1::signature in Lingotek Translation 7.7
Same name and namespace in other branches
- 7.4 lib/oauth-php/library/signature_method/LingotekOAuthSignatureMethod_HMAC_SHA1.php \LingotekOAuthSignatureMethod_HMAC_SHA1::signature()
- 7.5 lib/oauth-php/library/signature_method/LingotekOAuthSignatureMethod_HMAC_SHA1.php \LingotekOAuthSignatureMethod_HMAC_SHA1::signature()
- 7.6 lib/oauth-php/library/signature_method/LingotekOAuthSignatureMethod_HMAC_SHA1.php \LingotekOAuthSignatureMethod_HMAC_SHA1::signature()
* Calculate the signature using HMAC-SHA1 * This function is copyright Andy Smith, 2007. * *
Parameters
LingotekOAuthRequest request: * @param string base_string * @param string consumer_secret * @param string token_secret * @return string
Overrides LingotekOAuthSignatureMethod::signature
1 call to LingotekOAuthSignatureMethod_HMAC_SHA1::signature()
- LingotekOAuthSignatureMethod_HMAC_SHA1::verify in lib/
oauth-php/ library/ signature_method/ LingotekOAuthSignatureMethod_HMAC_SHA1.php - * Check if the request signature corresponds to the one calculated for the request. * *
File
- lib/
oauth-php/ library/ signature_method/ LingotekOAuthSignatureMethod_HMAC_SHA1.php, line 55
Class
Code
function signature($request, $base_string, $consumer_secret, $token_secret) {
$key = $request
->urlencode($consumer_secret) . '&' . $request
->urlencode($token_secret);
if (function_exists('hash_hmac')) {
$signature = base64_encode(hash_hmac("sha1", $base_string, $key, true));
}
else {
$blocksize = 64;
$hashfunc = 'sha1';
if (strlen($key) > $blocksize) {
$key = pack('H*', $hashfunc($key));
}
$key = str_pad($key, $blocksize, chr(0x0));
$ipad = str_repeat(chr(0x36), $blocksize);
$opad = str_repeat(chr(0x5c), $blocksize);
$hmac = pack('H*', $hashfunc(($key ^ $opad) . pack('H*', $hashfunc(($key ^ $ipad) . $base_string))));
$signature = base64_encode($hmac);
}
return $request
->urlencode($signature);
}