变量名 | 类 型 | 静态 | 数组 | 备 注 |
canonicalRequest | 文本型 | | |
待签字符串 | 文本型 | | |
签名 | 文本型 | | |
dateKey | 文本型 | | |
dateRegionKey | 文本型 | | |
dateRegionServiceKey | 文本型 | | |
signingKey | 文本型 | | |
urlStr | 文本型 | | |
Signature | 文本型 | | |
queryString | 文本型 | | |
dateTimeStr | 文本型 | | |
dateStr | 文本型 | | |
ServiceName | 文本型 | | |
RegionId | 文本型 | | |
ServiceName =
“oss”RegionId =
取文本右边_ (g_LocationConstraint,
“oss-”)dateTimeStr =
时间_格式化 (取现行时间 (),
“yyyyMMddT”,
“HHmmssZ”,
真)dateStr =
取文本左边 (dateTimeStr, 8
)调试输出 (g_AccessKeyId, g_AccessKeySecret, g_LocationConstraint,
“oss”, RegionId
) canonicalRequest =
“GET/” + g_BucketName +
“/” + 文件名 +
“\n”canonicalRequest = canonicalRequest +
“x-oss-additional-headers=host&x-oss-credential=”canonicalRequest = canonicalRequest + g_AccessKeyId +
“%2F” + dateStr
canonicalRequest = canonicalRequest +
“%2Fcn-hangzhou%2Foss%2Faliyun_v4_request&x-oss-date=” + dateTimeStr
canonicalRequest = canonicalRequest +
“&x-oss-expires=” +
到文本 (有效期
)canonicalRequest = canonicalRequest +
“&x-oss-signature-version=OSS4-HMAC-SHA256\n”canonicalRequest = canonicalRequest +
“host:” + g_BucketName +
“.” + g_LocationConstraint +
“.aliyuncs.com\n”canonicalRequest = canonicalRequest +
“host\n” +
“UNSIGNED-PAYLOAD” 待签字符串 =
“OSS4-HMAC-SHA256\n”待签字符串 = 待签字符串 + dateTimeStr +
“\n”待签字符串 = 待签字符串 + dateStr +
“/” + g_LocationConstraint +
“/” + ServiceName +
“/aliyun_v4_request\n”待签字符串 = 待签字符串 +
校验_取sha256 (到字节集 (canonicalRequest
))
dateKey =
校验_hmac_sha256 (“aliyun_v4” + g_AccessKeySecret, dateStr
)dateRegionKey =
校验_hmac_sha256 (dateKey, RegionId
)dateRegionServiceKey =
校验_hmac_sha256 (dateRegionKey, ServiceName
)signingKey =
校验_hmac_sha256 (dateRegionServiceKey,
“aliyun_v4_request”) 签名 =
校验_hmac_sha256 (signingKey, 待签字符串
) queryString =
“x-oss-additional-headers=host&” +
“x-oss-credential=” + g_AccessKeyId +
“%2F” + dateStr +
“%2Fcn-hangzhou%2Foss%2Faliyun_v4_request&”queryString = queryString +
“x-oss-date=” + dateTimeStr +
“&”queryString = queryString +
“x-oss-expires=” +
到文本 (有效期
) +
“&”queryString = queryString +
“x-oss-signature=” + 签名 +
“&”queryString = queryString +
“x-oss-signature-version=OSS4-HMAC-SHA256”urlStr = g_Url +
“/” + 文件名 +
“?” + queryString
返回 (urlStr
)