xctc-utils 1.6.34 → 1.6.35

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.
@@ -1,4 +1,4 @@
1
1
  import CryptoJS from "crypto-js";
2
2
  export declare const cryptojs: typeof CryptoJS;
3
- export declare function encrypt(word: any, key?: any, iv?: any): string;
3
+ export declare function encrypt(word: any, key?: any, iv?: any): any;
4
4
  export declare function decrypt(word: any, key?: any, iv?: any): any;
@@ -15,6 +15,10 @@ function formatVal(val) {
15
15
  exports.cryptojs = crypto_js_1.default;
16
16
  // 加密
17
17
  function encrypt(word, key, iv) {
18
+ if (!word) {
19
+ console.error("encrypt函数第一个参数不能为空");
20
+ return;
21
+ }
18
22
  if (word instanceof Object) {
19
23
  word = JSON.stringify(word);
20
24
  }
@@ -23,25 +27,42 @@ function encrypt(word, key, iv) {
23
27
  var src = crypto_js_1.default.enc.Utf8.parse(word);
24
28
  key = formatVal(key);
25
29
  iv = formatVal(iv);
26
- var encrypted = crypto_js_1.default.AES.encrypt(src, key, { iv: iv, mode: crypto_js_1.default.mode.CBC, padding: crypto_js_1.default.pad.Pkcs7 });
27
- return encrypted.ciphertext.toString().toUpperCase();
30
+ var encryptedData = "";
31
+ try {
32
+ var encrypted = crypto_js_1.default.AES.encrypt(src, key, { iv: iv, mode: crypto_js_1.default.mode.CBC, padding: crypto_js_1.default.pad.Pkcs7 });
33
+ encryptedData = encrypted.ciphertext.toString().toUpperCase();
34
+ }
35
+ catch (error) {
36
+ console.error("encrypt函数加密失败:", error);
37
+ }
38
+ return encryptedData;
28
39
  }
29
40
  exports.encrypt = encrypt;
30
41
  ;
31
42
  // 解密
32
43
  function decrypt(word, key, iv) {
44
+ if (!word) {
45
+ console.error("decrypt函数第一个参数不能为空");
46
+ return;
47
+ }
33
48
  key = formatVal(key);
34
49
  iv = formatVal(iv);
35
50
  var encryptedHexStr = crypto_js_1.default.enc.Hex.parse(word);
36
51
  var src = crypto_js_1.default.enc.Base64.stringify(encryptedHexStr);
37
- var decrypt = crypto_js_1.default.AES.decrypt(src, key, { iv: iv, mode: crypto_js_1.default.mode.CBC, padding: crypto_js_1.default.pad.Pkcs7 });
38
- var decryptedStr = decrypt.toString(crypto_js_1.default.enc.Utf8);
39
- var data = decryptedStr.toString();
40
- if ((0, utils_1.isJson)(data)) {
41
- return JSON.parse(data);
52
+ var decryptedData = "";
53
+ try {
54
+ var decrypt_1 = crypto_js_1.default.AES.decrypt(src, key, { iv: iv, mode: crypto_js_1.default.mode.CBC, padding: crypto_js_1.default.pad.Pkcs7 });
55
+ var decryptedStr = decrypt_1.toString(crypto_js_1.default.enc.Utf8);
56
+ decryptedData = decryptedStr.toString();
57
+ }
58
+ catch (error) {
59
+ console.error("decrypt函数解密失败:", error);
60
+ }
61
+ if ((0, utils_1.isJson)(decryptedData)) {
62
+ return JSON.parse(decryptedData);
42
63
  }
43
64
  else {
44
- return data;
65
+ return decryptedData;
45
66
  }
46
67
  }
47
68
  exports.decrypt = decrypt;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xctc-utils",
3
- "version": "1.6.34",
3
+ "version": "1.6.35",
4
4
  "description": "localStorage存储\r ```\r sessionStorage存储\r ```\r crypto-js加密、解密\r ```\r 微信授权登录、微信分享\r ```\r 设备环境获取\r ```\r 是否是微信浏览器\r ```\r 时间戳转时间,字符串转时间戳",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",