class OAuthSignatureMethod_MD5 in Lingotek Translation 7.2
Same name and namespace in other branches
- 7.3 lib/oauth-php/library/signature_method/OAuthSignatureMethod_MD5.php \OAuthSignatureMethod_MD5
Hierarchy
- class \OAuthSignatureMethod
- class \OAuthSignatureMethod_MD5
Expanded class hierarchy of OAuthSignatureMethod_MD5
File
- lib/
oauth-php/ library/ signature_method/ OAuthSignatureMethod_MD5.php, line 36
View source
class OAuthSignatureMethod_MD5 extends OAuthSignatureMethod {
public function name() {
return 'MD5';
}
/**
* Calculate the signature using MD5
* Binary md5 digest, as distinct from PHP's built-in hexdigest.
* This function is copyright Andy Smith, 2007.
*
* @param OAuthRequest request
* @param string base_string
* @param string consumer_secret
* @param string token_secret
* @return string
*/
function signature($request, $base_string, $consumer_secret, $token_secret) {
$s .= '&' . $request
->urlencode($consumer_secret) . '&' . $request
->urlencode($token_secret);
$md5 = md5($base_string);
$bin = '';
for ($i = 0; $i < strlen($md5); $i += 2) {
$bin .= chr(hexdec($md5[$i + 1]) + hexdec($md5[$i]) * 16);
}
return $request
->urlencode(base64_encode($bin));
}
/**
* Check if the request signature corresponds to the one calculated for the request.
*
* @param OAuthRequest request
* @param string base_string data to be signed, usually the base string, can be a request body
* @param string consumer_secret
* @param string token_secret
* @param string signature from the request, still urlencoded
* @return string
*/
public function verify($request, $base_string, $consumer_secret, $token_secret, $signature) {
$a = $request
->urldecode($signature);
$b = $request
->urldecode($this
->signature($request, $base_string, $consumer_secret, $token_secret));
// We have to compare the decoded values
$valA = base64_decode($a);
$valB = base64_decode($b);
// Crude binary comparison
return rawurlencode($valA) == rawurlencode($valB);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
OAuthSignatureMethod_MD5:: |
public | function |
* Return the name of this signature
*
* Overrides OAuthSignatureMethod:: |
|
OAuthSignatureMethod_MD5:: |
function |
* Calculate the signature using MD5
* Binary md5 digest, as distinct from PHP's built-in hexdigest.
* This function is copyright Andy Smith, 2007.
*
* Overrides OAuthSignatureMethod:: |
||
OAuthSignatureMethod_MD5:: |
public | function |
* Check if the request signature corresponds to the one calculated for the request.
*
* Overrides OAuthSignatureMethod:: |