utiller 1.0.180 → 1.0.181

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.
@@ -23,8 +23,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
23
23
 
24
24
  var _lodash = _interopRequireDefault(require("lodash"));
25
25
 
26
- var _crypto = _interopRequireDefault(require("crypto"));
27
-
28
26
  var _cryptoJs = _interopRequireDefault(require("crypto-js"));
29
27
 
30
28
  var _configerer = require("configerer");
@@ -656,12 +654,26 @@ var Utiller = /*#__PURE__*/function () {
656
654
  }
657
655
  }, {
658
656
  key: "getRandomHash",
659
- value: function getRandomHash() {
660
- var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 30;
657
+ value: function getRandomHash(length) {
658
+ var randomBytes = _cryptoJs["default"].lib.WordArray.random(length);
659
+
660
+ var base64String = _cryptoJs["default"].enc.Base64.stringify(randomBytes); // 根據需要調整格式
661
661
 
662
- var random = _crypto["default"].randomBytes(size).toString("hex");
663
662
 
664
- return random;
663
+ return base64String.substring(0, length);
664
+ }
665
+ }, {
666
+ key: "getRandomHashV2",
667
+ value: function getRandomHashV2(length) {
668
+ var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
669
+ var result = "";
670
+
671
+ for (var i = 0; i < length; i++) {
672
+ var randomIndex = Math.floor(Math.random() * characters.length);
673
+ result += characters.charAt(randomIndex);
674
+ }
675
+
676
+ return result;
665
677
  }
666
678
  /** alwaysTheSame 就是產出的encrypt value會固定(適合用在欄位的key), 不然會產生隨機偏移量, 但皆不影響解譯 */
667
679
 
@@ -2534,7 +2546,11 @@ var Utiller = /*#__PURE__*/function () {
2534
2546
 
2535
2547
  checkValue = encodeURIComponent(checkValue).toLowerCase();
2536
2548
  checkValue = checkValue.replace(/%20/g, "+").replace(/%2d/g, "-").replace(/%5f/g, "_").replace(/%2e/g, ".").replace(/%21/g, "!").replace(/%2a/g, "*").replace(/%28/g, "(").replace(/%29/g, ")").replace(/%20/g, "+");
2537
- checkValue = _crypto["default"].createHash("sha256").update(checkValue).digest("hex");
2549
+ /** checkValue = Crypto.createHash('sha256').update(checkValue).digest('hex');
2550
+ * 之前用crypto做出來的,後來crypto-browsify多年沒有更新,所以都要用CryptoJS處理 2024/03/12
2551
+ * */
2552
+
2553
+ checkValue = _cryptoJs["default"].SHA256(checkValue).toString(_cryptoJs["default"].enc.Hex);
2538
2554
  checkValue = checkValue.toUpperCase();
2539
2555
  return checkValue;
2540
2556
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "utiller",
3
- "version": "1.0.180",
3
+ "version": "1.0.181",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "dependencies": {
15
15
  "bl": "^4.1.0",
16
16
  "configerer": "^1.0.11",
17
- "crypto-js": "^4.0.0",
17
+ "crypto-js": "^4.2.0",
18
18
  "del": "^6.0.0",
19
19
  "fs-extra": "^9.1.0",
20
20
  "lodash": "^4.17.20",
@@ -11,7 +11,7 @@
11
11
  "license": "ISC",
12
12
  "dependencies": {
13
13
  "configerer": "^1.0.11",
14
- "utiller": "^1.0.179",
14
+ "utiller": "^1.0.180",
15
15
  "linepayer": "^1.0.4",
16
16
  "databazer": "^1.0.11",
17
17
  "lodash": "^4.17.20",