public function testGenerateBodyhash()
 {
     $this->assertEquals('qUqP5cyxm6YcTAhz05Hph5gvu9M=', OAuth2MacTokenUtil::generateBodyhash('test', 'hmac-sha-1'));
     $this->assertEquals('n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=', OAuth2MacTokenUtil::generateBodyhash('test', 'hmac-sha-256'));
     // sample at http://tools.ietf.org/html/draft-hammer-oauth-v2-mac-token-02
     $this->assertEquals('k9kbtCIy0CkI3/FEfpS/oIDjk6k=', OAuth2MacTokenUtil::generateBodyhash('hello=world%21', 'hmac-sha-1'));
     $this->assertEquals('Lve95gjOVATpfV8EL5X4nxwjKHE=', OAuth2MacTokenUtil::generateBodyhash('Hello World!', 'hmac-sha-1'));
 }
 /**
  * Validate bodyhash param
  */
 public function validateBodyHash()
 {
     if (empty($this->_algorithm)) {
         throw new Exception('Missing Algorithm');
     }
     if (!empty($this->_entitybody)) {
         $cal_bodyhash = OAuth2MacTokenUtil::generateBodyhash($this->_entitybody, $this->_algorithm);
         if ($this->_bodyhash != $cal_bodyhash) {
             $this->_enabled = false;
             $this->_code = 'HTTP/1.1 401 Unauthorized';
             $this->_error = 'invalid_bodyhash';
         }
     }
 }