1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- (function() {
- var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
- var __module = nodeEnv ? module : {exports:{}};
- var __filename = 'preview-scripts/assets/script/network/Security.js';
- var __require = nodeEnv ? function (request) {
- return cc.require(request);
- } : function (request) {
- return __quick_compile_project__.require(request, __filename);
- };
- function __define (exports, require, module) {
- if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
- cc._RF.push(module, 'aa378yDUwJDbacfYfzgcaKG', 'Security');
- // script/network/Security.ts
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Security = void 0;
- // import TextEncodingPolyfill from 'text-encoding';
- /** 数据传输加密 */
- var Security = /** @class */ (function () {
- function Security() {
- }
- Security.repeatArray = function (arr, size) {
- var repeatedArray = arr.slice(); // 复制原数组
- while (repeatedArray.length < size) {
- // 如果数组长度小于指定大小,就复制一份原数组内容并追加到末尾
- repeatedArray = repeatedArray.concat(arr.slice(0, size - repeatedArray.length));
- }
- return repeatedArray.slice(0, size); // 返回指定长度的数组
- };
- Security.mapKey = function (size) {
- var seed = Number('905010410038421001031011063552115');
- // const seed = Number(new TextEncodingPolyfill.TextEncoder().encode(ShareConfig.securityKey).join(''));
- var dict = new Array(256);
- for (var i = 0; i < 256; i++) {
- var temp = dict[i] || i;
- var rand = (seed % (i + 1) + i) % 256;
- dict[i] = dict[rand] || rand;
- dict[rand] = temp;
- }
- if (size > 256) {
- return Security.repeatArray(dict, size);
- }
- else {
- return dict;
- }
- };
- Security.byteIn = function (keyMap, val, index) {
- for (var i = 0; i < keyMap.length; i++) {
- if (keyMap[i] === val)
- return (i + keyMap[index]) % 256;
- }
- return 0;
- };
- Security.byteOut = function (keyMap, val, index) {
- var diff = val - keyMap[index];
- return keyMap[(diff < 0) ? 256 + diff : diff];
- };
- /** 加密 */
- Security.encrypt = function (buf) {
- return buf.map(Security.byteIn.bind(null, Security.mapKey(buf.length)));
- };
- /** 解密 */
- Security.decrypt = function (buf) {
- return buf.map(Security.byteOut.bind(null, Security.mapKey(buf.length)));
- };
- return Security;
- }());
- exports.Security = Security;
- cc._RF.pop();
- }
- if (nodeEnv) {
- __define(__module.exports, __require, __module);
- }
- else {
- __quick_compile_project__.registerModuleFunc(__filename, function () {
- __define(__module.exports, __require, __module);
- });
- }
- })();
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvbmV0d29yay9TZWN1cml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxvREFBb0Q7QUFDcEQsYUFBYTtBQUNiO0lBQUE7SUFvREEsQ0FBQztJQWxEVSxvQkFBVyxHQUFsQixVQUFtQixHQUFrQixFQUFFLElBQVk7UUFDL0MsSUFBSSxhQUFhLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsUUFBUTtRQUN6QyxPQUFPLGFBQWEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFO1lBQ2hDLGdDQUFnQztZQUNoQyxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDbkY7UUFDRCxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWTtJQUNyRCxDQUFDO0lBRU0sZUFBTSxHQUFiLFVBQWMsSUFBWTtRQUV0QixJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUN6RCx3R0FBd0c7UUFDeEcsSUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQixJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLElBQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUN4QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxJQUFJLEdBQUcsR0FBRyxFQUFFO1lBQ1osT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMzQzthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFTSxlQUFNLEdBQWIsVUFBYyxNQUFxQixFQUFFLEdBQVcsRUFBRSxLQUFhO1FBQzNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUc7Z0JBQUUsT0FBTyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDM0Q7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFTSxnQkFBTyxHQUFkLFVBQWUsTUFBcUIsRUFBRSxHQUFXLEVBQUUsS0FBYTtRQUM1RCxJQUFNLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsU0FBUztJQUNGLGdCQUFPLEdBQWQsVUFBZSxHQUFlO1FBQzFCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxTQUFTO0lBQ0YsZ0JBQU8sR0FBZCxVQUFlLEdBQWU7UUFDMUIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUNMLGVBQUM7QUFBRCxDQXBEQSxBQW9EQyxJQUFBO0FBcERZLDRCQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG5pbXBvcnQgeyBTaGFyZUNvbmZpZyB9IGZyb20gJy4vU2hhcmVDb25maWcnO1xyXG4vLyBpbXBvcnQgVGV4dEVuY29kaW5nUG9seWZpbGwgZnJvbSAndGV4dC1lbmNvZGluZyc7XHJcbi8qKiDmlbDmja7kvKDovpPliqDlr4YgKi9cclxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5IHtcclxuXHJcbiAgICBzdGF0aWMgcmVwZWF0QXJyYXkoYXJyOiBBcnJheTxudW1iZXI+LCBzaXplOiBudW1iZXIpOiBBcnJheTxudW1iZXI+IHtcclxuICAgICAgICBsZXQgcmVwZWF0ZWRBcnJheSA9IGFyci5zbGljZSgpOyAvLyDlpI3liLbljp/mlbDnu4RcclxuICAgICAgICB3aGlsZSAocmVwZWF0ZWRBcnJheS5sZW5ndGggPCBzaXplKSB7XHJcbiAgICAgICAgICAgIC8vIOWmguaenOaVsOe7hOmVv+W6puWwj+S6juaMh+WumuWkp+Wwj++8jOWwseWkjeWItuS4gOS7veWOn+aVsOe7hOWGheWuueW5tui/veWKoOWIsOacq+WwvlxyXG4gICAgICAgICAgICByZXBlYXRlZEFycmF5ID0gcmVwZWF0ZWRBcnJheS5jb25jYXQoYXJyLnNsaWNlKDAsIHNpemUgLSByZXBlYXRlZEFycmF5Lmxlbmd0aCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVwZWF0ZWRBcnJheS5zbGljZSgwLCBzaXplKTsgLy8g6L+U5Zue5oyH5a6a6ZW/5bqm55qE5pWw57uEXHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIG1hcEtleShzaXplOiBudW1iZXIpOiBBcnJheTxudW1iZXI+IHtcclxuXHJcbiAgICAgICAgY29uc3Qgc2VlZCA9IE51bWJlcignOTA1MDEwNDEwMDM4NDIxMDAxMDMxMDExMDYzNTUyMTE1Jyk7XHJcbiAgICAgICAgLy8gY29uc3Qgc2VlZCA9IE51bWJlcihuZXcgVGV4dEVuY29kaW5nUG9seWZpbGwuVGV4dEVuY29kZXIoKS5lbmNvZGUoU2hhcmVDb25maWcuc2VjdXJpdHlLZXkpLmpvaW4oJycpKTtcclxuICAgICAgICBjb25zdCBkaWN0ID0gbmV3IEFycmF5KDI1Nik7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMjU2OyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgdGVtcCA9IGRpY3RbaV0gfHwgaTtcclxuICAgICAgICAgICAgY29uc3QgcmFuZCA9IChzZWVkICUgKGkgKyAxKSArIGkpICUgMjU2O1xyXG4gICAgICAgICAgICBkaWN0W2ldID0gZGljdFtyYW5kXSB8fCByYW5kO1xyXG4gICAgICAgICAgICBkaWN0W3JhbmRdID0gdGVtcDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzaXplID4gMjU2KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBTZWN1cml0eS5yZXBlYXRBcnJheShkaWN0LCBzaXplKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gZGljdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGJ5dGVJbihrZXlNYXA6IEFycmF5PG51bWJlcj4sIHZhbDogbnVtYmVyLCBpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtleU1hcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoa2V5TWFwW2ldID09PSB2YWwpIHJldHVybiAoaSArIGtleU1hcFtpbmRleF0pICUgMjU2O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgYnl0ZU91dChrZXlNYXA6IEFycmF5PG51bWJlcj4sIHZhbDogbnVtYmVyLCBpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBkaWZmID0gdmFsIC0ga2V5TWFwW2luZGV4XTtcclxuICAgICAgICByZXR1cm4ga2V5TWFwWyhkaWZmIDwgMCkgPyAyNTYgKyBkaWZmIDogZGlmZl07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIOWKoOWvhiAqL1xyXG4gICAgc3RhdGljIGVuY3J5cHQoYnVmOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XHJcbiAgICAgICAgcmV0dXJuIGJ1Zi5tYXAoU2VjdXJpdHkuYnl0ZUluLmJpbmQobnVsbCwgU2VjdXJpdHkubWFwS2V5KGJ1Zi5sZW5ndGgpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIOino+WvhiAqL1xyXG4gICAgc3RhdGljIGRlY3J5cHQoYnVmOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XHJcbiAgICAgICAgcmV0dXJuIGJ1Zi5tYXAoU2VjdXJpdHkuYnl0ZU91dC5iaW5kKG51bGwsIFNlY3VyaXR5Lm1hcEtleShidWYubGVuZ3RoKSkpO1xyXG4gICAgfVxyXG59Il19
|