| 12345678910111213141516171819202122232425262728293031323334353637383940 | <?phpnamespace Qiniu\Pili;class Mac{    public $_accessKey;    public $_secretKey;    public function __construct($accessKey, $secretKey)    {        $this->_accessKey = $accessKey;        $this->_secretKey = $secretKey;    }    public function MACToken($method, $url, $contentType, $body)    {        $url = parse_url($url);        $data = '';        if (!empty($url['path'])) {            $data = $method . ' ' . $url['path'];        }        if (!empty($url['query'])) {            $data .= '?' . $url['query'];        }        if (!empty($url['host'])) {            $data .= "\nHost: " . $url['host'];            if (isset($url['port'])) {                $data .= ':' . $url['port'];            }        }        if (!empty($contentType)) {            $data .= "\nContent-Type: " . $contentType;        }        $data .= "\n\n";        if (!empty($body)) {            $data .= $body;        }        return 'Qiniu ' . $this->_accessKey . ':' . Utils::sign($this->_secretKey, $data);    }}
 |