original_string: protected function sign($operation) {
  	
  		$params = array(
  			'AWSAccessKeyId' => $this->accesskey,
  			'Timestamp' => gmdate('Y-m-d\TH:i:s.000\Z'),
  		);
  
  		$sign_str = 'AmazonS3' . $operation . $params['Timestamp'];
  		
  		$params['Signature'] = base64_encode(hash_hmac('sha1', $sign_str, $this->secretkey, TRUE));
  		
  		return $params;
  	}
code: protected function sign($operation) {
  	
  		$params = array(
  			'AWSAccessKeyId' => $this->accesskey,
  			'Timestamp' => gmdate('Y-m-d\TH:i:s.000\Z'),
  		);
  
  		$sign_str = 'AmazonS3' . $operation . $params['Timestamp'];
  		
  		$params['Signature'] = base64_encode(hash_hmac('sha1', $sign_str, $this->secretkey, TRUE));
  		
  		return $params;
  	}
code_tokens: protected function sign ( $ operation ) { $ params = array ( 'AWSAccessKeyId' => $ this -> accesskey , 'Timestamp' => gmdate ( 'Y-m-d\TH:i:s.000\Z' ) , ) ; $ sign_str = 'AmazonS3' . $ operation . $ params [ 'Timestamp' ] ; $ params [ 'Signature' ] = base64_encode ( hash_hmac ( 'sha1' , $ sign_str , $ this -> secretkey , TRUE ) ) ; return $ params ; }
docstring: Generating signature and timestamp for specified S3 operation
  
  @param  string  $operation    S3 operation name
  @return array
  @author Alexey Sukhotin
docstring_tokens: Generating signature and timestamp for specified S3 operation