]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - Zend/Oauth/Signature/Hmac.php
Release 6.5.0
[Github/sugarcrm.git] / Zend / Oauth / Signature / Hmac.php
1 <?php
2 /**
3  * Zend Framework
4  *
5  * LICENSE
6  *
7  * This source file is subject to the new BSD license that is bundled
8  * with this package in the file LICENSE.txt.
9  * It is also available through the world-wide-web at this URL:
10  * http://framework.zend.com/license/new-bsd
11  * If you did not receive a copy of the license and are unable to
12  * obtain it through the world-wide-web, please send an email
13  * to license@zend.com so we can send you a copy immediately.
14  *
15  * @category   Zend
16  * @package    Zend_Oauth
17  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
18  * @license    http://framework.zend.com/license/new-bsd     New BSD License
19
20  */
21
22 /** Zend_Oauth_Signature_SignatureAbstract */
23 require_once 'Zend/Oauth/Signature/SignatureAbstract.php';
24
25 /** Zend_Crypt_Hmac */
26 require_once 'Zend/Crypt/Hmac.php';
27
28 /**
29  * @category   Zend
30  * @package    Zend_Oauth
31  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
32  * @license    http://framework.zend.com/license/new-bsd     New BSD License
33  */
34 class Zend_Oauth_Signature_Hmac extends Zend_Oauth_Signature_SignatureAbstract
35 {
36     /**
37      * Sign a request
38      * 
39      * @param  array $params 
40      * @param  mixed $method 
41      * @param  mixed $url 
42      * @return string
43      */
44     public function sign(array $params, $method = null, $url = null)
45     {
46         $binaryHash = Zend_Crypt_Hmac::compute(
47             $this->_key,
48             $this->_hashAlgorithm,
49             $this->_getBaseSignatureString($params, $method, $url),
50             Zend_Crypt_Hmac::BINARY
51         );
52         return base64_encode($binaryHash);
53     }
54 }