|
@@ -29247,6 +29247,526 @@ var _default = {
|
|
|
exports.default = _default;
|
|
|
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
|
|
|
|
|
|
+/***/ }),
|
|
|
+/* 567 */,
|
|
|
+/* 568 */,
|
|
|
+/* 569 */,
|
|
|
+/* 570 */
|
|
|
+/*!*************************************************************************!*\
|
|
|
+ !*** D:/demo/businessCard/xiaochengxu/components/ossutil/uploadFile.js ***!
|
|
|
+ \*************************************************************************/
|
|
|
+/*! no static exports found */
|
|
|
+/***/ (function(module, exports, __webpack_require__) {
|
|
|
+
|
|
|
+/* WEBPACK VAR INJECTION */(function(uni) {var env = __webpack_require__(/*! ./config.js */ 571); //配置文件,在这文件里配置你的OSS keyId和KeySecret,timeout:87600;
|
|
|
+
|
|
|
+var base64 = __webpack_require__(/*! ./base64.js */ 572); //Base64,hmac,sha1,crypto相关算法
|
|
|
+__webpack_require__(/*! ./hmac.js */ 573);
|
|
|
+__webpack_require__(/*! ./sha1.js */ 575);
|
|
|
+var Crypto = __webpack_require__(/*! ./crypto.js */ 574);
|
|
|
+
|
|
|
+/*
|
|
|
+ *上传文件到阿里云oss
|
|
|
+ *@param - filePath :图片的本地资源路径
|
|
|
+ *@param - dir:表示要传到哪个目录下
|
|
|
+ *@param - successc:成功回调
|
|
|
+ *@param - failc:失败回调
|
|
|
+ */
|
|
|
+var uploadFile = function uploadFile(filePath, dir, successc, failc) {
|
|
|
+ if (!filePath || filePath.length < 9) {
|
|
|
+ uni.showModal({
|
|
|
+ title: '图片错误',
|
|
|
+ content: '请重试',
|
|
|
+ showCancel: false
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ //图片名字 可以自行定义, 这里是采用当前的时间戳 + 150内的随机数来给图片命名的
|
|
|
+ var aliyunFileKey = dir + new Date().getTime() + Math.floor(Math.random() * 150) + '.png';
|
|
|
+ var aliyunServerURL = env.uploadImageUrl; //OSS地址,需要https
|
|
|
+ var accessid = env.OSSAccessKeyId;
|
|
|
+ var policyBase64 = getPolicyBase64();
|
|
|
+ var signature = getSignature(policyBase64); //获取签名
|
|
|
+
|
|
|
+ uni.uploadFile({
|
|
|
+ url: aliyunServerURL,
|
|
|
+ //开发者服务器 url
|
|
|
+ filePath: filePath,
|
|
|
+ //要上传文件资源的路径
|
|
|
+ name: 'file',
|
|
|
+ //必须填file
|
|
|
+ formData: {
|
|
|
+ 'key': aliyunFileKey,
|
|
|
+ 'policy': policyBase64,
|
|
|
+ 'OSSAccessKeyId': accessid,
|
|
|
+ 'signature': signature,
|
|
|
+ 'success_action_status': '200'
|
|
|
+ },
|
|
|
+ success: function success(res) {
|
|
|
+ console.log(res);
|
|
|
+ if (res.statusCode != 200) {
|
|
|
+ failc(new Error('上传错误:' + JSON.stringify(res)));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ successc(aliyunServerURL + "/" + aliyunFileKey);
|
|
|
+ },
|
|
|
+ fail: function fail(err) {
|
|
|
+ err.wxaddinfo = aliyunServerURL;
|
|
|
+ failc(err);
|
|
|
+ }
|
|
|
+ });
|
|
|
+};
|
|
|
+var getPolicyBase64 = function getPolicyBase64() {
|
|
|
+ var date = new Date();
|
|
|
+ date.setHours(date.getHours() + env.timeout);
|
|
|
+ var srcT = date.toISOString();
|
|
|
+ var policyText = {
|
|
|
+ "expiration": srcT,
|
|
|
+ //设置该Policy的失效时间,超过这个失效时间之后,就没有办法通过这个policy上传文件了
|
|
|
+ "conditions": [["content-length-range", 0, 5 * 1024 * 1024] // 设置上传文件的大小限制,5mb
|
|
|
+ ]
|
|
|
+ };
|
|
|
+
|
|
|
+ var policyBase64 = base64.encode(JSON.stringify(policyText));
|
|
|
+ console.log(policyBase64);
|
|
|
+ return policyBase64;
|
|
|
+};
|
|
|
+var getSignature = function getSignature(policyBase64) {
|
|
|
+ var accesskey = env.AccessKeySecret;
|
|
|
+ var bytes = Crypto.HMAC(Crypto.SHA1, policyBase64, accesskey, {
|
|
|
+ asBytes: true
|
|
|
+ });
|
|
|
+ var signature = Crypto.util.bytesToBase64(bytes);
|
|
|
+ console.log(signature);
|
|
|
+ return signature;
|
|
|
+};
|
|
|
+module.exports = uploadFile;
|
|
|
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
|
|
|
+
|
|
|
+/***/ }),
|
|
|
+/* 571 */
|
|
|
+/*!*********************************************************************!*\
|
|
|
+ !*** D:/demo/businessCard/xiaochengxu/components/ossutil/config.js ***!
|
|
|
+ \*********************************************************************/
|
|
|
+/*! no static exports found */
|
|
|
+/***/ (function(module, exports) {
|
|
|
+
|
|
|
+var fileHost = 'https://taohaoliang.oss-cn-beijing.aliyuncs.com'; //你的阿里云地址最后面跟上一个/ 在你当前小程序的后台的uploadFile 合法域名也要配上这个域名
|
|
|
+var config = {
|
|
|
+ //aliyun OSS config
|
|
|
+ uploadImageUrl: "".concat(fileHost),
|
|
|
+ // 默认存在根目录,可根据需求改
|
|
|
+ AccessKeySecret: 'FpClTp4OVrRRtHEfi3lBOWUoLxKieW',
|
|
|
+ // AccessKeySecret 去你的阿里云上控制台上找
|
|
|
+ OSSAccessKeyId: 'LTAI4G9c14PgKvM23WZ9zrpc',
|
|
|
+ // AccessKeyId 去你的阿里云上控制台上找
|
|
|
+ timeout: 87600 //这个是上传文件时Policy的失效时间
|
|
|
+};
|
|
|
+
|
|
|
+module.exports = config;
|
|
|
+
|
|
|
+/***/ }),
|
|
|
+/* 572 */
|
|
|
+/*!*********************************************************************!*\
|
|
|
+ !*** D:/demo/businessCard/xiaochengxu/components/ossutil/base64.js ***!
|
|
|
+ \*********************************************************************/
|
|
|
+/*! no static exports found */
|
|
|
+/***/ (function(module, exports) {
|
|
|
+
|
|
|
+var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
|
+var base64DecodeChars = new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
|
|
|
+function encode(str) {
|
|
|
+ var out, i, len;
|
|
|
+ var c1, c2, c3;
|
|
|
+ len = str.length;
|
|
|
+ i = 0;
|
|
|
+ out = "";
|
|
|
+ while (i < len) {
|
|
|
+ c1 = str.charCodeAt(i++) & 0xff;
|
|
|
+ if (i == len) {
|
|
|
+ out += base64EncodeChars.charAt(c1 >> 2);
|
|
|
+ out += base64EncodeChars.charAt((c1 & 0x3) << 4);
|
|
|
+ out += "==";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ c2 = str.charCodeAt(i++);
|
|
|
+ if (i == len) {
|
|
|
+ out += base64EncodeChars.charAt(c1 >> 2);
|
|
|
+ out += base64EncodeChars.charAt((c1 & 0x3) << 4 | (c2 & 0xF0) >> 4);
|
|
|
+ out += base64EncodeChars.charAt((c2 & 0xF) << 2);
|
|
|
+ out += "=";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ c3 = str.charCodeAt(i++);
|
|
|
+ out += base64EncodeChars.charAt(c1 >> 2);
|
|
|
+ out += base64EncodeChars.charAt((c1 & 0x3) << 4 | (c2 & 0xF0) >> 4);
|
|
|
+ out += base64EncodeChars.charAt((c2 & 0xF) << 2 | (c3 & 0xC0) >> 6);
|
|
|
+ out += base64EncodeChars.charAt(c3 & 0x3F);
|
|
|
+ }
|
|
|
+ return out;
|
|
|
+}
|
|
|
+function decode(str) {
|
|
|
+ var c1, c2, c3, c4;
|
|
|
+ var i, len, out;
|
|
|
+ len = str.length;
|
|
|
+ i = 0;
|
|
|
+ out = "";
|
|
|
+ while (i < len) {
|
|
|
+ /* c1 */
|
|
|
+ do {
|
|
|
+ c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
|
|
|
+ } while (i < len && c1 == -1);
|
|
|
+ if (c1 == -1) break;
|
|
|
+ /* c2 */
|
|
|
+ do {
|
|
|
+ c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
|
|
|
+ } while (i < len && c2 == -1);
|
|
|
+ if (c2 == -1) break;
|
|
|
+ out += String.fromCharCode(c1 << 2 | (c2 & 0x30) >> 4);
|
|
|
+ /* c3 */
|
|
|
+ do {
|
|
|
+ c3 = str.charCodeAt(i++) & 0xff;
|
|
|
+ if (c3 == 61) return out;
|
|
|
+ c3 = base64DecodeChars[c3];
|
|
|
+ } while (i < len && c3 == -1);
|
|
|
+ if (c3 == -1) break;
|
|
|
+ out += String.fromCharCode((c2 & 0XF) << 4 | (c3 & 0x3C) >> 2);
|
|
|
+ /* c4 */
|
|
|
+ do {
|
|
|
+ c4 = str.charCodeAt(i++) & 0xff;
|
|
|
+ if (c4 == 61) return out;
|
|
|
+ c4 = base64DecodeChars[c4];
|
|
|
+ } while (i < len && c4 == -1);
|
|
|
+ if (c4 == -1) break;
|
|
|
+ out += String.fromCharCode((c3 & 0x03) << 6 | c4);
|
|
|
+ }
|
|
|
+ return out;
|
|
|
+}
|
|
|
+function utf16to8(str) {
|
|
|
+ var out, i, len, c;
|
|
|
+ out = "";
|
|
|
+ len = str.length;
|
|
|
+ for (i = 0; i < len; i++) {
|
|
|
+ c = str.charCodeAt(i);
|
|
|
+ if (c >= 0x0001 && c <= 0x007F) {
|
|
|
+ out += str.charAt(i);
|
|
|
+ } else if (c > 0x07FF) {
|
|
|
+ out += String.fromCharCode(0xE0 | c >> 12 & 0x0F);
|
|
|
+ out += String.fromCharCode(0x80 | c >> 6 & 0x3F);
|
|
|
+ out += String.fromCharCode(0x80 | c >> 0 & 0x3F);
|
|
|
+ } else {
|
|
|
+ out += String.fromCharCode(0xC0 | c >> 6 & 0x1F);
|
|
|
+ out += String.fromCharCode(0x80 | c >> 0 & 0x3F);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return out;
|
|
|
+}
|
|
|
+function utf8to16(str) {
|
|
|
+ var out, i, len, c;
|
|
|
+ var char2, char3;
|
|
|
+ out = "";
|
|
|
+ len = str.length;
|
|
|
+ i = 0;
|
|
|
+ while (i < len) {
|
|
|
+ c = str.charCodeAt(i++);
|
|
|
+ switch (c >> 4) {
|
|
|
+ case 0:
|
|
|
+ case 1:
|
|
|
+ case 2:
|
|
|
+ case 3:
|
|
|
+ case 4:
|
|
|
+ case 5:
|
|
|
+ case 6:
|
|
|
+ case 7:
|
|
|
+ // 0xxxxxxx
|
|
|
+ out += str.charAt(i - 1);
|
|
|
+ break;
|
|
|
+ case 12:
|
|
|
+ case 13:
|
|
|
+ // 110x xxxx 10xx xxxx
|
|
|
+ char2 = str.charCodeAt(i++);
|
|
|
+ out += String.fromCharCode((c & 0x1F) << 6 | char2 & 0x3F);
|
|
|
+ break;
|
|
|
+ case 14:
|
|
|
+ // 1110 xxxx 10xx xxxx 10xx xxxx
|
|
|
+ char2 = str.charCodeAt(i++);
|
|
|
+ char3 = str.charCodeAt(i++);
|
|
|
+ out += String.fromCharCode((c & 0x0F) << 12 | (char2 & 0x3F) << 6 | (char3 & 0x3F) << 0);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return out;
|
|
|
+}
|
|
|
+module.exports = {
|
|
|
+ encode: encode,
|
|
|
+ decode: decode,
|
|
|
+ utf16to8: utf16to8,
|
|
|
+ utf8to16: utf8to16
|
|
|
+};
|
|
|
+
|
|
|
+/***/ }),
|
|
|
+/* 573 */
|
|
|
+/*!*******************************************************************!*\
|
|
|
+ !*** D:/demo/businessCard/xiaochengxu/components/ossutil/hmac.js ***!
|
|
|
+ \*******************************************************************/
|
|
|
+/*! no static exports found */
|
|
|
+/***/ (function(module, exports, __webpack_require__) {
|
|
|
+
|
|
|
+var Crypto = __webpack_require__(/*! ./crypto.js */ 574);
|
|
|
+(function () {
|
|
|
+ // Shortcut
|
|
|
+ var util = Crypto.util;
|
|
|
+ Crypto.HMAC = function (hasher, message, key, options) {
|
|
|
+ // Allow arbitrary length keys
|
|
|
+ key = key.length > hasher._blocksize * 4 ? hasher(key, {
|
|
|
+ asBytes: true
|
|
|
+ }) : util.stringToBytes(key);
|
|
|
+
|
|
|
+ // XOR keys with pad constants
|
|
|
+ var okey = key,
|
|
|
+ ikey = key.slice(0);
|
|
|
+ for (var i = 0; i < hasher._blocksize * 4; i++) {
|
|
|
+ okey[i] ^= 0x5C;
|
|
|
+ ikey[i] ^= 0x36;
|
|
|
+ }
|
|
|
+ var hmacbytes = hasher(util.bytesToString(okey) + hasher(util.bytesToString(ikey) + message, {
|
|
|
+ asString: true
|
|
|
+ }), {
|
|
|
+ asBytes: true
|
|
|
+ });
|
|
|
+ return options && options.asBytes ? hmacbytes : options && options.asString ? util.bytesToString(hmacbytes) : util.bytesToHex(hmacbytes);
|
|
|
+ };
|
|
|
+})();
|
|
|
+module.exports = Crypto;
|
|
|
+
|
|
|
+/***/ }),
|
|
|
+/* 574 */
|
|
|
+/*!*********************************************************************!*\
|
|
|
+ !*** D:/demo/businessCard/xiaochengxu/components/ossutil/crypto.js ***!
|
|
|
+ \*********************************************************************/
|
|
|
+/*! no static exports found */
|
|
|
+/***/ (function(module, exports) {
|
|
|
+
|
|
|
+var Crypto = {};
|
|
|
+(function () {
|
|
|
+ var base64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
|
+
|
|
|
+ // Crypto utilities
|
|
|
+ var util = Crypto.util = {
|
|
|
+ // Bit-wise rotate left
|
|
|
+ rotl: function rotl(n, b) {
|
|
|
+ return n << b | n >>> 32 - b;
|
|
|
+ },
|
|
|
+ // Bit-wise rotate right
|
|
|
+ rotr: function rotr(n, b) {
|
|
|
+ return n << 32 - b | n >>> b;
|
|
|
+ },
|
|
|
+ // Swap big-endian to little-endian and vice versa
|
|
|
+ endian: function endian(n) {
|
|
|
+ // If number given, swap endian
|
|
|
+ if (n.constructor == Number) {
|
|
|
+ return util.rotl(n, 8) & 0x00FF00FF | util.rotl(n, 24) & 0xFF00FF00;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Else, assume array and swap all items
|
|
|
+ for (var i = 0; i < n.length; i++) {
|
|
|
+ n[i] = util.endian(n[i]);
|
|
|
+ }
|
|
|
+ return n;
|
|
|
+ },
|
|
|
+ // Generate an array of any length of random bytes
|
|
|
+ randomBytes: function randomBytes(n) {
|
|
|
+ for (var bytes = []; n > 0; n--) {
|
|
|
+ bytes.push(Math.floor(Math.random() * 256));
|
|
|
+ }
|
|
|
+ return bytes;
|
|
|
+ },
|
|
|
+ // Convert a string to a byte array
|
|
|
+ stringToBytes: function stringToBytes(str) {
|
|
|
+ var bytes = [];
|
|
|
+ for (var i = 0; i < str.length; i++) {
|
|
|
+ bytes.push(str.charCodeAt(i));
|
|
|
+ }
|
|
|
+ return bytes;
|
|
|
+ },
|
|
|
+ // Convert a byte array to a string
|
|
|
+ bytesToString: function bytesToString(bytes) {
|
|
|
+ var str = [];
|
|
|
+ for (var i = 0; i < bytes.length; i++) {
|
|
|
+ str.push(String.fromCharCode(bytes[i]));
|
|
|
+ }
|
|
|
+ return str.join("");
|
|
|
+ },
|
|
|
+ // Convert a string to big-endian 32-bit words
|
|
|
+ stringToWords: function stringToWords(str) {
|
|
|
+ var words = [];
|
|
|
+ for (var c = 0, b = 0; c < str.length; c++, b += 8) {
|
|
|
+ words[b >>> 5] |= str.charCodeAt(c) << 24 - b % 32;
|
|
|
+ }
|
|
|
+ return words;
|
|
|
+ },
|
|
|
+ // Convert a byte array to big-endian 32-bits words
|
|
|
+ bytesToWords: function bytesToWords(bytes) {
|
|
|
+ var words = [];
|
|
|
+ for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {
|
|
|
+ words[b >>> 5] |= bytes[i] << 24 - b % 32;
|
|
|
+ }
|
|
|
+ return words;
|
|
|
+ },
|
|
|
+ // Convert big-endian 32-bit words to a byte array
|
|
|
+ wordsToBytes: function wordsToBytes(words) {
|
|
|
+ var bytes = [];
|
|
|
+ for (var b = 0; b < words.length * 32; b += 8) {
|
|
|
+ bytes.push(words[b >>> 5] >>> 24 - b % 32 & 0xFF);
|
|
|
+ }
|
|
|
+ return bytes;
|
|
|
+ },
|
|
|
+ // Convert a byte array to a hex string
|
|
|
+ bytesToHex: function bytesToHex(bytes) {
|
|
|
+ var hex = [];
|
|
|
+ for (var i = 0; i < bytes.length; i++) {
|
|
|
+ hex.push((bytes[i] >>> 4).toString(16));
|
|
|
+ hex.push((bytes[i] & 0xF).toString(16));
|
|
|
+ }
|
|
|
+ return hex.join("");
|
|
|
+ },
|
|
|
+ // Convert a hex string to a byte array
|
|
|
+ hexToBytes: function hexToBytes(hex) {
|
|
|
+ var bytes = [];
|
|
|
+ for (var c = 0; c < hex.length; c += 2) {
|
|
|
+ bytes.push(parseInt(hex.substr(c, 2), 16));
|
|
|
+ }
|
|
|
+ return bytes;
|
|
|
+ },
|
|
|
+ // Convert a byte array to a base-64 string
|
|
|
+ bytesToBase64: function bytesToBase64(bytes) {
|
|
|
+ // Use browser-native function if it exists
|
|
|
+ // if (typeof btoa == "function") return btoa(util.bytesToString(bytes));
|
|
|
+
|
|
|
+ var base64 = [],
|
|
|
+ overflow;
|
|
|
+ for (var i = 0; i < bytes.length; i++) {
|
|
|
+ switch (i % 3) {
|
|
|
+ case 0:
|
|
|
+ base64.push(base64map.charAt(bytes[i] >>> 2));
|
|
|
+ overflow = (bytes[i] & 0x3) << 4;
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ base64.push(base64map.charAt(overflow | bytes[i] >>> 4));
|
|
|
+ overflow = (bytes[i] & 0xF) << 2;
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ base64.push(base64map.charAt(overflow | bytes[i] >>> 6));
|
|
|
+ base64.push(base64map.charAt(bytes[i] & 0x3F));
|
|
|
+ overflow = -1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Encode overflow bits, if there are any
|
|
|
+ if (overflow != undefined && overflow != -1) base64.push(base64map.charAt(overflow));
|
|
|
+
|
|
|
+ // Add padding
|
|
|
+ while (base64.length % 4 != 0) {
|
|
|
+ base64.push("=");
|
|
|
+ }
|
|
|
+ return base64.join("");
|
|
|
+ },
|
|
|
+ // Convert a base-64 string to a byte array
|
|
|
+ base64ToBytes: function base64ToBytes(base64) {
|
|
|
+ // Use browser-native function if it exists
|
|
|
+ if (typeof atob == "function") return util.stringToBytes(atob(base64));
|
|
|
+
|
|
|
+ // Remove non-base-64 characters
|
|
|
+ base64 = base64.replace(/[^A-Z0-9+\/]/ig, "");
|
|
|
+ var bytes = [];
|
|
|
+ for (var i = 0; i < base64.length; i++) {
|
|
|
+ switch (i % 4) {
|
|
|
+ case 1:
|
|
|
+ bytes.push(base64map.indexOf(base64.charAt(i - 1)) << 2 | base64map.indexOf(base64.charAt(i)) >>> 4);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ bytes.push((base64map.indexOf(base64.charAt(i - 1)) & 0xF) << 4 | base64map.indexOf(base64.charAt(i)) >>> 2);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ bytes.push((base64map.indexOf(base64.charAt(i - 1)) & 0x3) << 6 | base64map.indexOf(base64.charAt(i)));
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return bytes;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ // Crypto mode namespace
|
|
|
+ Crypto.mode = {};
|
|
|
+})();
|
|
|
+module.exports = Crypto;
|
|
|
+
|
|
|
+/***/ }),
|
|
|
+/* 575 */
|
|
|
+/*!*******************************************************************!*\
|
|
|
+ !*** D:/demo/businessCard/xiaochengxu/components/ossutil/sha1.js ***!
|
|
|
+ \*******************************************************************/
|
|
|
+/*! no static exports found */
|
|
|
+/***/ (function(module, exports, __webpack_require__) {
|
|
|
+
|
|
|
+var Crypto = __webpack_require__(/*! ./crypto.js */ 574);
|
|
|
+(function () {
|
|
|
+ // Shortcut
|
|
|
+ var util = Crypto.util;
|
|
|
+
|
|
|
+ // Public API
|
|
|
+ var SHA1 = Crypto.SHA1 = function (message, options) {
|
|
|
+ var digestbytes = util.wordsToBytes(SHA1._sha1(message));
|
|
|
+ return options && options.asBytes ? digestbytes : options && options.asString ? util.bytesToString(digestbytes) : util.bytesToHex(digestbytes);
|
|
|
+ };
|
|
|
+
|
|
|
+ // The core
|
|
|
+ SHA1._sha1 = function (message) {
|
|
|
+ var m = util.stringToWords(message),
|
|
|
+ l = message.length * 8,
|
|
|
+ w = [],
|
|
|
+ H0 = 1732584193,
|
|
|
+ H1 = -271733879,
|
|
|
+ H2 = -1732584194,
|
|
|
+ H3 = 271733878,
|
|
|
+ H4 = -1009589776;
|
|
|
+
|
|
|
+ // Padding
|
|
|
+ m[l >> 5] |= 0x80 << 24 - l % 32;
|
|
|
+ m[(l + 64 >>> 9 << 4) + 15] = l;
|
|
|
+ for (var i = 0; i < m.length; i += 16) {
|
|
|
+ var a = H0,
|
|
|
+ b = H1,
|
|
|
+ c = H2,
|
|
|
+ d = H3,
|
|
|
+ e = H4;
|
|
|
+ for (var j = 0; j < 80; j++) {
|
|
|
+ if (j < 16) w[j] = m[i + j];else {
|
|
|
+ var n = w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16];
|
|
|
+ w[j] = n << 1 | n >>> 31;
|
|
|
+ }
|
|
|
+ var t = (H0 << 5 | H0 >>> 27) + H4 + (w[j] >>> 0) + (j < 20 ? (H1 & H2 | ~H1 & H3) + 1518500249 : j < 40 ? (H1 ^ H2 ^ H3) + 1859775393 : j < 60 ? (H1 & H2 | H1 & H3 | H2 & H3) - 1894007588 : (H1 ^ H2 ^ H3) - 899497514);
|
|
|
+ H4 = H3;
|
|
|
+ H3 = H2;
|
|
|
+ H2 = H1 << 30 | H1 >>> 2;
|
|
|
+ H1 = H0;
|
|
|
+ H0 = t;
|
|
|
+ }
|
|
|
+ H0 += a;
|
|
|
+ H1 += b;
|
|
|
+ H2 += c;
|
|
|
+ H3 += d;
|
|
|
+ H4 += e;
|
|
|
+ }
|
|
|
+ return [H0, H1, H2, H3, H4];
|
|
|
+ };
|
|
|
+
|
|
|
+ // Package private blocksize
|
|
|
+ SHA1._blocksize = 16;
|
|
|
+})();
|
|
|
+module.exports = Crypto;
|
|
|
+
|
|
|
/***/ })
|
|
|
]]);
|
|
|
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/vendor.js.map
|