首页 > 编程语言 >PHP 之腾讯云对象存储生成临时地址

PHP 之腾讯云对象存储生成临时地址

时间:2024-07-27 16:28:57浏览次数:20  
标签:signTime 存储 sha1 string httpURI param sign 腾讯 PHP

一、代码示例

/**
 * 生成cos签名
 * @param string $httpURI 你的url地址,如:https://xxxx.com/123/23/test.png
 * @param string $expires 有效时间 分钟
 * @param string $headerList
 * @param string $urlParamList
 * @param string $httpParameters
 * @param string $httpHeaders
 * @return string
 */
function createAuthorization($httpURI = '', $expires = '+5 minutes', $headerList = '', $urlParamList = '', $httpParameters = '', $httpHeaders = '')
{
    global $secretKey, $accessKey;
    $signTime = ( string )(time() - 60) . ';' . ( string )(strtotime($expires));
    $httpString = (string)"get\n" . $httpURI . "\n" . $httpParameters . "\n" . $httpHeaders . "\n";
    $sha1edHttpString = sha1($httpString);
    $stringToSign = (string)"sha1\n$signTime\n$sha1edHttpString\n";
    $signKey = hash_hmac('sha1', $signTime, $secretKey);
    $signature = hash_hmac('sha1', $stringToSign, $signKey);
    $signTime = urlencode($signTime);
    $query = "q-sign-algorithm=sha1&q-ak=" . trim($accessKey) . "&q-sign-time=$signTime&q-key-time=$signTime&q-header-list=$headerList&q-url-param-list=$urlParamList&" . "q-signature=$signature";
    return $query;
}

$secretKey:你的SecretKey

$accessKey:你的SecretId

地址为:https://xxxx.com/123/23/test.png?你生成的签名

二、签名工具

https://cos.cloud.tencent.com/tools/cos?tab=sign

标签:signTime,存储,sha1,string,httpURI,param,sign,腾讯,PHP
From: https://www.cnblogs.com/yang-2018/p/18327119

相关文章

  • ctfshow-web入门-php特性(web142-web146)
    目录1、web1422、web1433、web1444、web1455、web1461、web142要求 v1是数字,之后将v1乘以0x36d(即16进制的869)五次,然后将结果转换为整数并赋值给变量$d,使用sleep函数使程序休眠$d秒,最后读取flag.php文件的内容并输出到浏览器。那直接传0呗,不然乘出来都太......
  • 计算机组成与体系结构-层次化存储体系
    将数据分为多个层次进行存储,以最优的控制调度算法和合理的成本,构成具有性能可接受的存储系统.解决两个矛盾采用层次化存储体系,可以通过平衡存储介质的速度和成本得到最佳的存储效用。解决了主存容量不足与高成本的矛盾、CPU与主存速度不匹配的矛盾存储器分类RAM,随机存取存......
  • Starlette SessionMiddleware 将会话数据存储在服务器上还是客户端上?
    我正在开发一个无状态FastAPI应用程序。身份验证通过GoogleOAuth(openid电子邮件配置文件范围)进行处理。我正在使用Authlib,它使用SessionMiddleware(request.session)来存储临时代码和状态。现在,我想使用令牌限制对某些端点的访问。为此......
  • Hisiphp2.0.11的文件上传
    侵权声明本文章中的所有内容(包括但不限于文字、图像和其他媒体)仅供教育和参考目的。如果在本文章中使用了任何受版权保护的材料,我们满怀敬意地承认该内容的版权归原作者所有。如果您是版权持有人,并且认为您的作品被侵犯,请通过以下方式与我们联系:[[email protected]]。我们将在确......
  • nginx 代理php
    centos7.6nginx编译安装./configure--prefix=/data/apps/nginx\--user=nginx\--group=nginx\--with-http_stub_status_module\--with-http_ssl_module\--with-http_gzip_static_module\--with-stream\--with-http_v2_module\--with-http_realip_mo......
  • 线程隔离的艺术:Perl中的线程局部存储解析
    线程隔离的艺术:Perl中的线程局部存储解析在多线程编程中,线程局部存储(Thread-LocalStorage,TLS)是一种关键技术,它允许每个线程拥有自己的变量副本,从而避免线程间的资源冲突。Perl作为一种支持多线程的编程语言,提供了丰富的机制来实现线程局部存储。本文将深入探讨Perl中的线......
  • CXL与NVME融合场景下, 计算存储应用案例分析
    场景1:数据写入之前目标是避免数据从存储设备传输到主机内存再返回存储设备的传统过程中的数据搬运成本。通过利用CXL和NVMe技术的结合,可以在存储层直接对数据进行处理,即所谓的计算存储(ComputationalStorage)。这特别适用于那些需要对数据进行快速处理然后存储的场景,比如数据......
  • Ubuntu 使用nginx部署thinkphp8配置
    server{listen80;server_nameemall.alliky.cn;root/var/www/html/EMALL_EVTP8_SERVER/public;indexindex.phpindex.htmlindex.htm;#防止文件缓存location~*\.(css|js|jpg|jpeg|png|gif|ico|woff|woff2|css.map|js.map|txt)${expires14d;add_headerC......
  • 二叉树及其存储实现C语言(附上源码)
    1.什么是二叉树        二叉树是一种特殊的树型结构,其特点是每个结点至多只有两棵子树(即二叉树不存在度大于二的结点),并且二叉树的子树有左右之分,次序不可颠倒【有序树】。 2.二叉树的定义二叉树T:一个有穷的结点集合。    -这个集合可以为空;    -......
  • [二、状态管理]3管理应用拥有的状态(3)AppStorage:应用全局的UI状态存储
    AppStorage是应用全局的UI状态存储,是和应用的进程绑定的,由UI框架在应用程序启动时创建,为应用程序UI状态属性提供中央存储。和AppStorage不同的是,LocalStorage是页面级的,通常应用于页面内的数据共享。而AppStorage是应用级的全局状态共享,还相当于整个应用的“中枢”,持久化数据Pers......