Skip to content

Commit dcc93ff

Browse files
committed
fix:优化obj2str实现
2 parents 4b3f66b + ee9f20c commit dcc93ff

11 files changed

+28
-9850
lines changed

demo/common/cos-auth.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,14 @@
9292
});
9393
};
9494

95-
var obj2str = function (obj) {
95+
var obj2str = function (obj, lowerCaseKey) {
9696
var i, key, val;
9797
var list = [];
9898
var keyList = getObjectKeys(obj);
9999
for (i = 0; i < keyList.length; i++) {
100100
key = keyList[i];
101101
val = (obj[key] === undefined || obj[key] === null) ? '' : ('' + obj[key]);
102-
key = key.toLowerCase();
103-
key = camSafeUrlEncode(key);
102+
key = lowerCaseKey? camSafeUrlEncode(key).toLowerCase() : camSafeUrlEncode(key);
104103
val = camSafeUrlEncode(val) || '';
105104
list.push(key + '=' + val)
106105
}
@@ -124,7 +123,7 @@
124123
var signKey = CryptoJS.HmacSHA1(qKeyTime, SecretKey).toString();
125124

126125
// 步骤二:构成 FormatString
127-
var formatString = [method, pathname, obj2str(query), obj2str(headers), ''].join('\n');
126+
var formatString = [method, pathname, obj2str(query, true), obj2str(headers, true), ''].join('\n');
128127

129128
// 步骤三:计算 StringToSign
130129
var stringToSign = ['sha1', qSignTime, CryptoJS.SHA1(formatString).toString(), ''].join('\n');

demo/common/cos-auth.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)