| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 | 
							- <?php
 
- require_once("utils.php");
 
- require_once("conf.php");
 
- // ----------------------------------------------------------
 
- class Qiniu_Mac {
 
- 	public $AccessKey;
 
- 	public $SecretKey;
 
- 	public function __construct($accessKey, $secretKey)
 
- 	{
 
- 		$this->AccessKey = $accessKey;
 
- 		$this->SecretKey = $secretKey;
 
- 	}
 
- 	public function Sign($data) // => $token
 
- 	{
 
- 		$sign = hash_hmac('sha1', $data, $this->SecretKey, true);
 
- 		return $this->AccessKey . ':' . Qiniu_Encode($sign);
 
- 	}
 
- 	public function SignWithData($data) // => $token
 
- 	{
 
- 		$data = Qiniu_Encode($data);
 
- 		return $this->Sign($data) . ':' . $data;
 
- 	}
 
- 	public function SignRequest($req, $incbody) // => ($token, $error)
 
- 	{
 
- 		$url = $req->URL;
 
- 		$url = parse_url($url['path']);
 
- 		$data = '';
 
- 		if (isset($url['path'])) {
 
- 			$data = $url['path'];
 
- 		}
 
- 		if (isset($url['query'])) {
 
- 			$data .= '?' . $url['query'];
 
- 		}
 
- 		$data .= "\n";
 
- 		if ($incbody) {
 
- 			$data .= $req->Body;
 
- 		}
 
- 		return $this->Sign($data);
 
- 	}
 
- 	public function VerifyCallback($auth, $url, $body) // ==> bool
 
- 	{
 
- 		$url = parse_url($url);
 
- 		$data = '';
 
- 		if (isset($url['path'])) {
 
- 			$data = $url['path'];
 
- 		}
 
- 		if (isset($url['query'])) {
 
- 			$data .= '?' . $url['query'];
 
- 		}
 
- 		$data .= "\n";
 
- 		$data .= $body;
 
- 		$token = 'QBox ' . $this->Sign($data);
 
- 		return $auth === $token;
 
- 	}
 
- }
 
- function Qiniu_SetKeys($accessKey, $secretKey, $uphost='')
 
- {
 
- 	global $QINIU_ACCESS_KEY;
 
- 	global $QINIU_SECRET_KEY;
 
- 	global $QINIU_UP_HOST;
 
- 	$QINIU_ACCESS_KEY = $accessKey;
 
- 	$QINIU_SECRET_KEY = $secretKey;
 
-     if($uphost){
 
-         $QINIU_UP_HOST = $uphost;
 
-     }
 
- 	
 
- }
 
- function Qiniu_RequireMac($mac) // => $mac
 
- {
 
- 	if (isset($mac)) {
 
- 		return $mac;
 
- 	}
 
- 	global $QINIU_ACCESS_KEY;
 
- 	global $QINIU_SECRET_KEY;
 
- 	return new Qiniu_Mac($QINIU_ACCESS_KEY, $QINIU_SECRET_KEY);
 
- }
 
- function Qiniu_Sign($mac, $data) // => $token
 
- {
 
- 	return Qiniu_RequireMac($mac)->Sign($data);
 
- }
 
- function Qiniu_SignWithData($mac, $data) // => $token
 
- {
 
- 	return Qiniu_RequireMac($mac)->SignWithData($data);
 
- }
 
- // ----------------------------------------------------------
 
 
  |