腾讯云COS配置了私有读写,PHP如何下载文件

腾讯云COS签名详解与实战指南
    /**
     * 腾讯云PHP计算COS签名
     * 2021-12-23 10:59:27
     * @param $uri
     * @return string
     */
    public static function signCos($uri)
    {

        //$SecretId = "AKIDtd8NL2mqa4JK8jpBdTfkZ7Sj3slMkyfwXs";
        //$SecretKey = "JK9h383vSs7IL85nMyMSKmzziBU3jhOt7c";
        $SecretId = env('COSV5_SECRET_ID');
        $SecretKey = env('COSV5_SECRET_KEY');
        $host = env('COSV5_CDN') ?? "https://oa-123024434702.cos.ap-guangzhou.myqcloud.com";


        #得到 KeyTime
        $StartTimestamp = time();
        $EndTimestamp = strtotime("+30 minute");
        $KeyTime = "$StartTimestamp;$EndTimestamp";


        #得到 signKey
        $signKey = hash_hmac('sha1', $KeyTime, $SecretKey);


        #得到 httpString
        $httpMethod = 'get';
        $httpUri = $uri;//请求路径文件
        $httpParameters = '';
        $headerString = '';
        $httpString = "$httpMethod\n$httpUri\n$httpParameters\n$headerString\n";


        #得到 StringToSign
        $sha1StringToSign = sha1($httpString);
        $stringToSign = "sha1\n$KeyTime\n$sha1StringToSign\n";


        #得到 signature
        $signature = hash_hmac('sha1', $stringToSign, $signKey);


        #拼凑 URl
        $cos_url = $host . $httpUri . "?q-sign-algorithm=sha1&q-ak=$SecretId&q-sign-time=$KeyTime&q-key-time=$KeyTime&q-header-list=&q-url-param-list=&q-signature=$signature";

        return $cos_url;
    }

http访问服务器资源对象,实现签名验证访问,使用腾讯云对象存储(Cloud Object Storage,COS)时,可通过 RESTful API 对 COS 发起 HTTP 匿名请求或 HTTP 签名请求,对于签名请求,COS 服务器端将会进行对请求发起者的身份验证

腾讯云COS签名访问

简介

使用腾讯云对象存储(Cloud Object Storage,COS)时,可通过 RESTful API 对 COS 发起 HTTP 匿名请求或 HTTP 签名请求,对于签名请求,COS 服务器端将会进行对请求发起者的身份验证。

匿名请求:HTTP 请求不携带任何身份标识和鉴权信息,通过 RESTful API 进行 HTTP 请求操作。
签名请求:HTTP 请求时携带签名,COS 服务器端收到消息后,进行身份验证,验证成功则可接受并执行请求,否则将会返回错误信息并丢弃此请求。
COS 基于密钥 HMAC(Hash Message Authentication Code)的自定义方案进行身份验证。

 

 

 

 

q-sign-algorithm=sha1
&q-ak=SecretId
&q-sign-time=KeyTime
&q-key-time=KeyTime
&q-header-list=HeaderList
&q-url-param-list=UrlParamList
&q-signature=Signature

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值