parsec-libs 0.0.225-ertong → 0.0.227-ertong
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +9 -1
- package/lib/utils/aes.d.ts +2 -2
- package/lib/utils/aes.js +47 -29
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/lib/index.d.ts
CHANGED
|
@@ -23,3 +23,4 @@ export { default as CreateTeam } from './offlineMDT/workTeam/createTeam';
|
|
|
23
23
|
export { default as TeamDetails } from './offlineMDT/workTeam/details';
|
|
24
24
|
export { default as ConsultationRoomList } from './offlineMDT/consultationRoom/list';
|
|
25
25
|
export { default as ConsultationRoomScheduling } from './offlineMDT/consultationRoom/scheduling';
|
|
26
|
+
export { TimePicker } from 'antd';
|
package/lib/index.js
CHANGED
|
@@ -149,6 +149,12 @@ Object.defineProperty(exports, "ConsultationRoomScheduling", {
|
|
|
149
149
|
return _scheduling.default;
|
|
150
150
|
}
|
|
151
151
|
});
|
|
152
|
+
Object.defineProperty(exports, "TimePicker", {
|
|
153
|
+
enumerable: true,
|
|
154
|
+
get: function get() {
|
|
155
|
+
return _antd.TimePicker;
|
|
156
|
+
}
|
|
157
|
+
});
|
|
152
158
|
|
|
153
159
|
require("./index.less");
|
|
154
160
|
|
|
@@ -198,4 +204,6 @@ var _details = _interopRequireDefault(require("./offlineMDT/workTeam/details"));
|
|
|
198
204
|
|
|
199
205
|
var _list6 = _interopRequireDefault(require("./offlineMDT/consultationRoom/list"));
|
|
200
206
|
|
|
201
|
-
var _scheduling = _interopRequireDefault(require("./offlineMDT/consultationRoom/scheduling"));
|
|
207
|
+
var _scheduling = _interopRequireDefault(require("./offlineMDT/consultationRoom/scheduling"));
|
|
208
|
+
|
|
209
|
+
var _antd = require("antd");
|
package/lib/utils/aes.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function encryptAES(
|
|
2
|
-
export declare function decryptAES(
|
|
1
|
+
export declare function encryptAES(plainText: any): string;
|
|
2
|
+
export declare function decryptAES(cipherBase64: any): string;
|
package/lib/utils/aes.js
CHANGED
|
@@ -8,50 +8,68 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.encryptAES = encryptAES;
|
|
9
9
|
exports.decryptAES = decryptAES;
|
|
10
10
|
|
|
11
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
12
|
+
|
|
11
13
|
var _aesJs = _interopRequireDefault(require("aes-js"));
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
var key = _aesJs.default.utils.utf8.toBytes('tfPY4ceiCfhOGmsNnILk89EqjHsB5fPWypIE97PY1os'); // 加密
|
|
15
|
+
var FIXED_KEY = 'tfPY4ceiCfhOGmsNnILk89EqjHsB5fPWypIE97PY1os';
|
|
15
16
|
|
|
17
|
+
function base64ToBytes(base64) {
|
|
18
|
+
var binaryString = atob(base64);
|
|
19
|
+
return Uint8Array.from(binaryString, function (c) {
|
|
20
|
+
return c.charCodeAt(0);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
16
23
|
|
|
17
|
-
function
|
|
18
|
-
var
|
|
24
|
+
function pkcs7Pad(data) {
|
|
25
|
+
var blockSize = 16;
|
|
26
|
+
var padLength = blockSize - data.length % blockSize;
|
|
27
|
+
var padding = new Uint8Array(padLength).fill(padLength);
|
|
28
|
+
return Uint8Array.from([].concat((0, _toConsumableArray2.default)(data), (0, _toConsumableArray2.default)(padding)));
|
|
29
|
+
}
|
|
19
30
|
|
|
31
|
+
function encryptAES(plainText) {
|
|
32
|
+
try {
|
|
33
|
+
// 1. Base64 解码密钥
|
|
34
|
+
var keyBytes = base64ToBytes(FIXED_KEY); // 2. 将明文转为字节数组
|
|
20
35
|
|
|
21
|
-
|
|
22
|
-
var aesEcb = new _aesJs.default.ModeOfOperation.ecb(key);
|
|
23
|
-
var encryptedBytes = aesEcb.encrypt(paddedTextBytes); // 转为十六进制字符串(也可以用 Base64)
|
|
36
|
+
var textBytes = _aesJs.default.utils.utf8.toBytes(plainText); // 3. PKCS7 填充
|
|
24
37
|
|
|
25
|
-
return _aesJs.default.utils.hex.fromBytes(encryptedBytes);
|
|
26
|
-
} // 解密
|
|
27
38
|
|
|
39
|
+
var paddedBytes = pkcs7Pad(textBytes); // 4. 创建 AES ECB 加密器
|
|
28
40
|
|
|
29
|
-
|
|
30
|
-
var encryptedBytes = _aesJs.default.utils.hex.toBytes(encryptedHex);
|
|
41
|
+
var aesEcb = new _aesJs.default.ModeOfOperation.ecb(keyBytes); // 5. 加密
|
|
31
42
|
|
|
32
|
-
|
|
33
|
-
var decryptedBytes = aesEcb.decrypt(encryptedBytes); // 去除填充
|
|
43
|
+
var encryptedBytes = aesEcb.encrypt(paddedBytes); // 6. 返回 base64 编码结果
|
|
34
44
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
45
|
+
var encryptedBase64 = btoa(String.fromCharCode.apply(String, (0, _toConsumableArray2.default)(encryptedBytes)));
|
|
46
|
+
return encryptedBase64;
|
|
47
|
+
} catch (e) {
|
|
48
|
+
throw new Error('AES加密失败: ' + e.message);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
39
51
|
|
|
52
|
+
function pkcs7Unpad(data) {
|
|
53
|
+
var padLength = data[data.length - 1];
|
|
54
|
+
return data.slice(0, data.length - padLength);
|
|
55
|
+
}
|
|
40
56
|
|
|
41
|
-
function
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
} // 移除结尾的 0
|
|
57
|
+
function decryptAES(cipherBase64) {
|
|
58
|
+
try {
|
|
59
|
+
// 1. Base64 解码密钥和密文
|
|
60
|
+
var keyBytes = base64ToBytes(FIXED_KEY);
|
|
61
|
+
var encryptedBytes = base64ToBytes(cipherBase64); // 2. 创建 AES 解密器(ECB 模式)
|
|
47
62
|
|
|
63
|
+
var aesEcb = new _aesJs.default.ModeOfOperation.ecb(keyBytes); // 3. 解密
|
|
48
64
|
|
|
49
|
-
|
|
50
|
-
var i = bytes.length;
|
|
65
|
+
var decryptedBytes = aesEcb.decrypt(encryptedBytes); // 4. 去除 PKCS7 填充
|
|
51
66
|
|
|
52
|
-
|
|
53
|
-
i--;
|
|
54
|
-
}
|
|
67
|
+
var unpaddedBytes = pkcs7Unpad(decryptedBytes); // 5. 转成 UTF8 字符串
|
|
55
68
|
|
|
56
|
-
|
|
69
|
+
var decryptedText = _aesJs.default.utils.utf8.fromBytes(unpaddedBytes);
|
|
70
|
+
|
|
71
|
+
return decryptedText;
|
|
72
|
+
} catch (e) {
|
|
73
|
+
throw new Error('AES解密失败: ' + e.message);
|
|
74
|
+
}
|
|
57
75
|
}
|