官方文档

最佳实践

PHP生成 signature Demo

<?php

class Alioss
{
protected $AccessKeySecret = 'saf2*******************sdkfenr'; /**
* get signature
*
* @return String
*/
public function getSignature()
{
$now = time();
$expire = 10; //设置该policy超时时间是10s. 即这个policy过了这个有效时间,将不能访问
$end = $now + $expire;
$expiration = $this->gmt_iso8601($end);
$dir = '/uploads/'.date('Ym',time()).'/'; $conditions = [
['content-length-range', 0, 1048576000],
['starts-with', '$key', $dir],
];
$arr = [
'expiration'=>$expiration,
'conditions'=>$conditions,
];
$policy = json_encode($arr);
$base64_policy = base64_encode($policy);
$string_to_sign = $base64_policy; $signature = base64_encode(hash_hmac('sha1', $string_to_sign, $this->$AccessKeySecret, true));
return $signature;
} private function gmt_iso8601($time) {
$dtStr = date("c", $time);
$mydatetime = new \DateTime($dtStr);
$expiration = $mydatetime->format(\DateTime::ISO8601);
$pos = strpos($expiration, '+');
$expiration = substr($expiration, 0, $pos);
return $expiration."Z";
}
}

最新文章

  1. Spark 资源池简介
  2. iOS PushMeBaby日志提示SSLwrite():-36 94
  3. WPS文字在表格中打字自动跳动
  4. 2Sigma OA prepare: Friends Circle
  5. Mysql 导入数据,推荐Source命令,太快了
  6. reason: -[UIKBBlurredKeyView candidateList]: unrecognized selector sent to instance
  7. ios 对齐属性
  8. 【转】- 使用T4模板批量生成代码
  9. XAML 名称范围 (x:) 语言特性
  10. poj3086---数论
  11. c++ STL stack &amp; queue
  12. 实例说明MVC,MVP,MVVM架构
  13. activiti 配置节点 连线信息获取
  14. 一对多Excel自定义函数:SVLOOKUP
  15. note 9 列表、时间复杂度、排序
  16. linux c 开发通用结构,框架
  17. June.19 2018, Week 25th Tuesday
  18. ssm框架的整合搭建(一)
  19. jmeter参数化、添加变量、生成随机数和导入csv文件数据
  20. 检测浏览器(BOM)以及地址栏网址的API

热门文章

  1. Java 在PPT中添加文本水印的简易方法(单一/平铺水印)
  2. java集合框架部分相关接口与类的介绍
  3. Android的Proxy/Delegate Application框架
  4. 2019 GDUT Rating Contest II : Problem F. Teleportation
  5. 杨辉三角的实现(Java)
  6. 冒泡排序算法的实现(Java)
  7. 第30 章 : 理解 RuntimeClass 与使用多容器运行时
  8. 生产中常用的获取IP地址方法的总结
  9. 详细了解 InnoDB 内存结构及其原理
  10. (十)Docker-V 详解