Ejemplo n.º 1
0
                continue;
            }
            //如果value为null,则赋值为空串
            if ($v === null) {
                $v = '';
            }
            //trim后再encode,之后使用':'号连接起来
            $headerStrings[] = HttpUtil::urlEncode(strtolower(trim($k))) . ':' . HttpUtil::urlEncode(trim($v));
        }
        //字典序排序
        sort($headerStrings);
        //用'\n'把它们连接起来
        return implode("\n", $headerStrings);
    }
}
HttpUtil::__init();
function getSigner($host, $httpMethod, $path, $parms, $timestamp)
{
    //	date_default_timezone_set('UTC');
    $AK = "f7306cacee2942c98a715ddc0d5b3878";
    //替换成你STS获取的AK
    $SK = "2cf0173d82624502bbd7150c03b5b236";
    //替换成你STS获取的SK
    $expirationPeriodInSeconds = "3600";
    //$timestamp = date("Y-m-d")."T".date("H:i:s")."Z";
    $authStringPrefix = "bce-auth-v1" . "/" . $AK . "/" . $timestamp . "/" . $expirationPeriodInSeconds;
    $SigningKey = hash_hmac('SHA256', $authStringPrefix, $SK);
    $CanonicalHeaders1 = "host;" . "x-bce-date";
    $CanonicalHeaders2 = "host:" . $host . "\n" . "x-bce-date:" . urlencode($timestamp);
    //
    //print "CanonicalHeaders2:" . $CanonicalHeaders2 . "\n";