ly-utils-lib 1.0.11 → 2.4.0

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.
Files changed (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +889 -686
  3. package/dist/array.cjs +237 -0
  4. package/dist/array.cjs.map +1 -0
  5. package/dist/array.d.cts +2 -0
  6. package/dist/array.d.ts +2 -0
  7. package/dist/array.js +150 -0
  8. package/dist/array.js.map +1 -0
  9. package/dist/crypto.cjs +193 -0
  10. package/dist/crypto.cjs.map +1 -0
  11. package/dist/crypto.d.cts +3 -0
  12. package/dist/crypto.d.ts +3 -0
  13. package/dist/crypto.js +144 -0
  14. package/dist/crypto.js.map +1 -0
  15. package/dist/date.cjs +563 -0
  16. package/dist/date.cjs.map +1 -0
  17. package/dist/date.d.cts +2 -0
  18. package/dist/date.d.ts +2 -0
  19. package/dist/date.js +451 -0
  20. package/dist/date.js.map +1 -0
  21. package/dist/excel.cjs +227 -0
  22. package/dist/excel.cjs.map +1 -0
  23. package/dist/excel.d.cts +2 -0
  24. package/dist/excel.d.ts +2 -0
  25. package/dist/excel.js +196 -0
  26. package/dist/excel.js.map +1 -0
  27. package/dist/index-B80SEVzM.d.cts +382 -0
  28. package/dist/index-B80SEVzM.d.ts +382 -0
  29. package/dist/index-Ba1rjTzj.d.cts +299 -0
  30. package/dist/index-Ba1rjTzj.d.ts +299 -0
  31. package/dist/index-Bg1ise7y.d.cts +253 -0
  32. package/dist/index-Bg1ise7y.d.ts +253 -0
  33. package/dist/index-BoqNpwNa.d.cts +203 -0
  34. package/dist/index-BoqNpwNa.d.ts +203 -0
  35. package/dist/index-C0qUnb9Y.d.cts +533 -0
  36. package/dist/index-C0qUnb9Y.d.ts +533 -0
  37. package/dist/index-Cy-mb5v_.d.cts +262 -0
  38. package/dist/index-Cy-mb5v_.d.ts +262 -0
  39. package/dist/index-D1f9Sym2.d.cts +148 -0
  40. package/dist/index-D1f9Sym2.d.ts +148 -0
  41. package/dist/index-Dan5oF-5.d.cts +213 -0
  42. package/dist/index-Dan5oF-5.d.ts +213 -0
  43. package/dist/index-XABfrs7z.d.cts +596 -0
  44. package/dist/index-XABfrs7z.d.ts +596 -0
  45. package/dist/index-YXWfKCK7.d.cts +109 -0
  46. package/dist/index-YXWfKCK7.d.ts +109 -0
  47. package/dist/index.cjs +3355 -0
  48. package/dist/index.cjs.map +1 -0
  49. package/dist/index.d.cts +21 -0
  50. package/dist/index.d.ts +21 -0
  51. package/dist/index.js +3294 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/map.cjs +839 -0
  54. package/dist/map.cjs.map +1 -0
  55. package/dist/map.d.cts +6 -0
  56. package/dist/map.d.ts +6 -0
  57. package/dist/map.js +811 -0
  58. package/dist/map.js.map +1 -0
  59. package/dist/object.cjs +316 -0
  60. package/dist/object.cjs.map +1 -0
  61. package/dist/object.d.cts +2 -0
  62. package/dist/object.d.ts +2 -0
  63. package/dist/object.js +247 -0
  64. package/dist/object.js.map +1 -0
  65. package/dist/pdf.cjs +197 -0
  66. package/dist/pdf.cjs.map +1 -0
  67. package/dist/pdf.d.cts +3 -0
  68. package/dist/pdf.d.ts +3 -0
  69. package/dist/pdf.js +173 -0
  70. package/dist/pdf.js.map +1 -0
  71. package/dist/storage.cjs +255 -0
  72. package/dist/storage.cjs.map +1 -0
  73. package/dist/storage.d.cts +1 -0
  74. package/dist/storage.d.ts +1 -0
  75. package/dist/storage.js +226 -0
  76. package/dist/storage.js.map +1 -0
  77. package/dist/string.cjs +232 -0
  78. package/dist/string.cjs.map +1 -0
  79. package/dist/string.d.cts +2 -0
  80. package/dist/string.d.ts +2 -0
  81. package/dist/string.js +170 -0
  82. package/dist/string.js.map +1 -0
  83. package/dist/utils.cjs +429 -0
  84. package/dist/utils.cjs.map +1 -0
  85. package/dist/utils.d.cts +2 -0
  86. package/dist/utils.d.ts +2 -0
  87. package/dist/utils.js +371 -0
  88. package/dist/utils.js.map +1 -0
  89. package/package.json +159 -33
  90. package/dist/ly-utils-lib.cjs.js +0 -52929
  91. package/dist/ly-utils-lib.cjs.js.map +0 -1
  92. package/dist/ly-utils-lib.es.js +0 -69623
  93. package/dist/ly-utils-lib.es.js.map +0 -1
  94. package/dist/ly-utils-lib.umd.js +0 -53314
  95. package/dist/ly-utils-lib.umd.js.map +0 -1
  96. package/dist/types/index.d.ts +0 -15
  97. package/dist/types/utils/esToolkit.d.ts +0 -12
  98. package/dist/types/utils/ol.d.ts +0 -181
  99. package/dist/types/utils/router.d.ts +0 -15
  100. package/dist/types/utils/storage.d.ts +0 -42
  101. package/dist/types/utils/time.d.ts +0 -76
  102. package/dist/types/utils/tool.d.ts +0 -86
  103. package/dist/vite.svg +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/modules/crypto/index.ts"],"names":["CryptoJS","mode"],"mappings":"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","file":"crypto.cjs","sourcesContent":["/**\n * 加密解密模块\n * 基于 crypto-js 提供常用的加密解密功能\n */\n\nimport * as CryptoJS from 'crypto-js'\n\n/**\n * 加密模式类型\n */\nexport type CryptoMode = any\n\n/**\n * 填充方式类型\n */\nexport type CryptoPadding = any\n\n/**\n * MD5 加密\n * @param message 要加密的消息\n * @returns MD5 哈希值\n */\nexport const md5 = (message: string): string => {\n return CryptoJS.MD5(message).toString()\n}\n\n/**\n * SHA1 加密\n * @param message 要加密的消息\n * @returns SHA1 哈希值\n */\nexport const sha1 = (message: string): string => {\n return CryptoJS.SHA1(message).toString()\n}\n\n/**\n * SHA256 加密\n * @param message 要加密的消息\n * @returns SHA256 哈希值\n */\nexport const sha256 = (message: string): string => {\n return CryptoJS.SHA256(message).toString()\n}\n\n/**\n * SHA512 加密\n * @param message 要加密的消息\n * @returns SHA512 哈希值\n */\nexport const sha512 = (message: string): string => {\n return CryptoJS.SHA512(message).toString()\n}\n\n/**\n * Hmac-MD5 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns Hmac-MD5 哈希值\n */\nexport const hmacMD5 = (message: string, key: string): string => {\n return CryptoJS.HmacMD5(message, key).toString()\n}\n\n/**\n * Hmac-SHA1 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns Hmac-SHA1 哈希值\n */\nexport const hmacSHA1 = (message: string, key: string): string => {\n return CryptoJS.HmacSHA1(message, key).toString()\n}\n\n/**\n * Hmac-SHA256 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns Hmac-SHA256 哈希值\n */\nexport const hmacSHA256 = (message: string, key: string): string => {\n return CryptoJS.HmacSHA256(message, key).toString()\n}\n\n/**\n * Hmac-SHA512 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns Hmac-SHA512 哈希值\n */\nexport const hmacSHA512 = (message: string, key: string): string => {\n return CryptoJS.HmacSHA512(message, key).toString()\n}\n\n/**\n * AES 加密\n * @param message 要加密的消息\n * @param key 密钥(16/24/32 字节)\n * @param iv 初始向量(可选,16 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 加密后的密文(Base64 格式)\n */\nexport const aesEncrypt = (\n message: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const encrypted = CryptoJS.AES.encrypt(message, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return encrypted.toString()\n}\n\n/**\n * AES 解密\n * @param ciphertext 密文(Base64 格式)\n * @param key 密钥(16/24/32 字节)\n * @param iv 初始向量(可选,16 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 解密后的明文\n */\nexport const aesDecrypt = (\n ciphertext: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const decrypted = CryptoJS.AES.decrypt(ciphertext, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return decrypted.toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * DES 加密\n * @param message 要加密的消息\n * @param key 密钥(8 字节)\n * @param iv 初始向量(可选,8 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 加密后的密文(Base64 格式)\n */\nexport const desEncrypt = (\n message: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const encrypted = CryptoJS.DES.encrypt(message, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return encrypted.toString()\n}\n\n/**\n * DES 解密\n * @param ciphertext 密文(Base64 格式)\n * @param key 密钥(8 字节)\n * @param iv 初始向量(可选,8 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 解密后的明文\n */\nexport const desDecrypt = (\n ciphertext: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const decrypted = CryptoJS.DES.decrypt(ciphertext, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return decrypted.toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * Triple DES (3DES) 加密\n * @param message 要加密的消息\n * @param key 密钥(24 字节)\n * @param iv 初始向量(可选,8 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 加密后的密文(Base64 格式)\n */\nexport const tripleDesEncrypt = (\n message: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const encrypted = CryptoJS.TripleDES.encrypt(message, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return encrypted.toString()\n}\n\n/**\n * Triple DES (3DES) 解密\n * @param ciphertext 密文(Base64 格式)\n * @param key 密钥(24 字节)\n * @param iv 初始向量(可选,8 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 解密后的明文\n */\nexport const tripleDesDecrypt = (\n ciphertext: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const decrypted = CryptoJS.TripleDES.decrypt(ciphertext, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return decrypted.toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * RC4 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns 加密后的密文(Base64 格式)\n */\nexport const rc4Encrypt = (message: string, key: string): string => {\n const encrypted = CryptoJS.RC4.encrypt(message, key)\n return encrypted.toString()\n}\n\n/**\n * RC4 解密\n * @param ciphertext 密文(Base64 格式)\n * @param key 密钥\n * @returns 解密后的明文\n */\nexport const rc4Decrypt = (ciphertext: string, key: string): string => {\n const decrypted = CryptoJS.RC4.decrypt(ciphertext, key)\n return decrypted.toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * Rabbit 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns 加密后的密文(Base64 格式)\n */\nexport const rabbitEncrypt = (message: string, key: string): string => {\n const encrypted = CryptoJS.Rabbit.encrypt(message, key)\n return encrypted.toString()\n}\n\n/**\n * Rabbit 解密\n * @param ciphertext 密文(Base64 格式)\n * @param key 密钥\n * @returns 解密后的明文\n */\nexport const rabbitDecrypt = (ciphertext: string, key: string): string => {\n const decrypted = CryptoJS.Rabbit.decrypt(ciphertext, key)\n return decrypted.toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * Base64 编码\n * @param message 要编码的消息\n * @returns Base64 编码后的字符串\n */\nexport const base64Encode = (message: string): string => {\n return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(message))\n}\n\n/**\n * Base64 解码\n * @param encoded Base64 编码的字符串\n * @returns 解码后的原始消息\n */\nexport const base64Decode = (encoded: string): string => {\n return CryptoJS.enc.Base64.parse(encoded).toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * UTF-8 编码\n * @param message 要编码的消息\n * @returns UTF-8 编码后的字符串\n */\nexport const utf8Encode = (message: string): string => {\n return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Utf8.parse(message))\n}\n\n/**\n * UTF-8 解码\n * @param encoded UTF-8 编码的字符串\n * @returns 解码后的原始消息\n */\nexport const utf8Decode = (encoded: string): string => {\n return CryptoJS.enc.Utf8.parse(encoded).toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * Hex 编码\n * @param message 要编码的消息\n * @returns Hex 编码后的字符串\n */\nexport const hexEncode = (message: string): string => {\n return CryptoJS.enc.Hex.stringify(CryptoJS.enc.Utf8.parse(message))\n}\n\n/**\n * Hex 解码\n * @param encoded Hex 编码的字符串\n * @returns 解码后的原始消息\n */\nexport const hexDecode = (encoded: string): string => {\n return CryptoJS.enc.Hex.parse(encoded).toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * 生成随机密钥\n * @param length 密钥长度(字节)\n * @returns 随机密钥(Base64 格式)\n */\nexport const generateKey = (length: number = 32): string => {\n const key = CryptoJS.lib.WordArray.random(length)\n return CryptoJS.enc.Base64.stringify(key)\n}\n\n/**\n * 生成随机 IV(初始向量)\n * @param length IV 长度(字节,默认 16)\n * @returns 随机 IV(Base64 格式)\n */\nexport const generateIV = (length: number = 16): string => {\n const iv = CryptoJS.lib.WordArray.random(length)\n return CryptoJS.enc.Base64.stringify(iv)\n}\n\n/**\n * PBKDF2 密钥派生\n * @param password 密码\n * @param salt 盐值\n * @param iterations 迭代次数\n * @param keySize 密钥长度(字节)\n * @returns 派生的密钥(Hex 格式)\n */\nexport const pbkdf2 = (password: string, salt: string, iterations: number = 1000, keySize: number = 32): string => {\n const key = CryptoJS.PBKDF2(password, salt, {\n keySize: keySize / 4,\n iterations: iterations\n })\n return key.toString()\n}\n\n/**\n * 生成 UUID v4\n * @returns UUID 字符串\n */\nexport const uuid = (): string => {\n return CryptoJS.lib.WordArray.random(16).toString()\n}\n\n// 导出 CryptoJS 相关类型和常量\nexport { CryptoJS }\n"]}
@@ -0,0 +1,3 @@
1
+ import * as cryptoJs from 'crypto-js';
2
+ export { cryptoJs as CryptoJS };
3
+ export { C as CryptoMode, a as CryptoPadding, b as aesDecrypt, c as aesEncrypt, d as base64Decode, e as base64Encode, f as desDecrypt, g as desEncrypt, h as generateIV, j as generateKey, k as hexDecode, l as hexEncode, m as hmacMD5, n as hmacSHA1, o as hmacSHA256, p as hmacSHA512, q as md5, r as pbkdf2, s as rabbitDecrypt, t as rabbitEncrypt, u as rc4Decrypt, v as rc4Encrypt, w as sha1, x as sha256, y as sha512, z as tripleDesDecrypt, A as tripleDesEncrypt, B as utf8Decode, D as utf8Encode, E as uuid } from './index-Bg1ise7y.cjs';
@@ -0,0 +1,3 @@
1
+ import * as cryptoJs from 'crypto-js';
2
+ export { cryptoJs as CryptoJS };
3
+ export { C as CryptoMode, a as CryptoPadding, b as aesDecrypt, c as aesEncrypt, d as base64Decode, e as base64Encode, f as desDecrypt, g as desEncrypt, h as generateIV, j as generateKey, k as hexDecode, l as hexEncode, m as hmacMD5, n as hmacSHA1, o as hmacSHA256, p as hmacSHA512, q as md5, r as pbkdf2, s as rabbitDecrypt, t as rabbitEncrypt, u as rc4Decrypt, v as rc4Encrypt, w as sha1, x as sha256, y as sha512, z as tripleDesDecrypt, A as tripleDesEncrypt, B as utf8Decode, D as utf8Encode, E as uuid } from './index-Bg1ise7y.js';
package/dist/crypto.js ADDED
@@ -0,0 +1,144 @@
1
+ import * as CryptoJS from 'crypto-js';
2
+ export { CryptoJS };
3
+
4
+ // src/modules/crypto/index.ts
5
+ var md5 = (message) => {
6
+ return CryptoJS.MD5(message).toString();
7
+ };
8
+ var sha1 = (message) => {
9
+ return CryptoJS.SHA1(message).toString();
10
+ };
11
+ var sha256 = (message) => {
12
+ return CryptoJS.SHA256(message).toString();
13
+ };
14
+ var sha512 = (message) => {
15
+ return CryptoJS.SHA512(message).toString();
16
+ };
17
+ var hmacMD5 = (message, key) => {
18
+ return CryptoJS.HmacMD5(message, key).toString();
19
+ };
20
+ var hmacSHA1 = (message, key) => {
21
+ return CryptoJS.HmacSHA1(message, key).toString();
22
+ };
23
+ var hmacSHA256 = (message, key) => {
24
+ return CryptoJS.HmacSHA256(message, key).toString();
25
+ };
26
+ var hmacSHA512 = (message, key) => {
27
+ return CryptoJS.HmacSHA512(message, key).toString();
28
+ };
29
+ var aesEncrypt = (message, key, iv, mode2 = CryptoJS.mode.CBC, padding = CryptoJS.pad.Pkcs7) => {
30
+ const keyWord = CryptoJS.enc.Utf8.parse(key);
31
+ const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : void 0;
32
+ const encrypted = CryptoJS.AES.encrypt(message, keyWord, {
33
+ iv: ivWord,
34
+ mode: mode2,
35
+ padding
36
+ });
37
+ return encrypted.toString();
38
+ };
39
+ var aesDecrypt = (ciphertext, key, iv, mode2 = CryptoJS.mode.CBC, padding = CryptoJS.pad.Pkcs7) => {
40
+ const keyWord = CryptoJS.enc.Utf8.parse(key);
41
+ const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : void 0;
42
+ const decrypted = CryptoJS.AES.decrypt(ciphertext, keyWord, {
43
+ iv: ivWord,
44
+ mode: mode2,
45
+ padding
46
+ });
47
+ return decrypted.toString(CryptoJS.enc.Utf8);
48
+ };
49
+ var desEncrypt = (message, key, iv, mode2 = CryptoJS.mode.CBC, padding = CryptoJS.pad.Pkcs7) => {
50
+ const keyWord = CryptoJS.enc.Utf8.parse(key);
51
+ const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : void 0;
52
+ const encrypted = CryptoJS.DES.encrypt(message, keyWord, {
53
+ iv: ivWord,
54
+ mode: mode2,
55
+ padding
56
+ });
57
+ return encrypted.toString();
58
+ };
59
+ var desDecrypt = (ciphertext, key, iv, mode2 = CryptoJS.mode.CBC, padding = CryptoJS.pad.Pkcs7) => {
60
+ const keyWord = CryptoJS.enc.Utf8.parse(key);
61
+ const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : void 0;
62
+ const decrypted = CryptoJS.DES.decrypt(ciphertext, keyWord, {
63
+ iv: ivWord,
64
+ mode: mode2,
65
+ padding
66
+ });
67
+ return decrypted.toString(CryptoJS.enc.Utf8);
68
+ };
69
+ var tripleDesEncrypt = (message, key, iv, mode2 = CryptoJS.mode.CBC, padding = CryptoJS.pad.Pkcs7) => {
70
+ const keyWord = CryptoJS.enc.Utf8.parse(key);
71
+ const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : void 0;
72
+ const encrypted = CryptoJS.TripleDES.encrypt(message, keyWord, {
73
+ iv: ivWord,
74
+ mode: mode2,
75
+ padding
76
+ });
77
+ return encrypted.toString();
78
+ };
79
+ var tripleDesDecrypt = (ciphertext, key, iv, mode2 = CryptoJS.mode.CBC, padding = CryptoJS.pad.Pkcs7) => {
80
+ const keyWord = CryptoJS.enc.Utf8.parse(key);
81
+ const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : void 0;
82
+ const decrypted = CryptoJS.TripleDES.decrypt(ciphertext, keyWord, {
83
+ iv: ivWord,
84
+ mode: mode2,
85
+ padding
86
+ });
87
+ return decrypted.toString(CryptoJS.enc.Utf8);
88
+ };
89
+ var rc4Encrypt = (message, key) => {
90
+ const encrypted = CryptoJS.RC4.encrypt(message, key);
91
+ return encrypted.toString();
92
+ };
93
+ var rc4Decrypt = (ciphertext, key) => {
94
+ const decrypted = CryptoJS.RC4.decrypt(ciphertext, key);
95
+ return decrypted.toString(CryptoJS.enc.Utf8);
96
+ };
97
+ var rabbitEncrypt = (message, key) => {
98
+ const encrypted = CryptoJS.Rabbit.encrypt(message, key);
99
+ return encrypted.toString();
100
+ };
101
+ var rabbitDecrypt = (ciphertext, key) => {
102
+ const decrypted = CryptoJS.Rabbit.decrypt(ciphertext, key);
103
+ return decrypted.toString(CryptoJS.enc.Utf8);
104
+ };
105
+ var base64Encode = (message) => {
106
+ return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(message));
107
+ };
108
+ var base64Decode = (encoded) => {
109
+ return CryptoJS.enc.Base64.parse(encoded).toString(CryptoJS.enc.Utf8);
110
+ };
111
+ var utf8Encode = (message) => {
112
+ return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Utf8.parse(message));
113
+ };
114
+ var utf8Decode = (encoded) => {
115
+ return CryptoJS.enc.Utf8.parse(encoded).toString(CryptoJS.enc.Utf8);
116
+ };
117
+ var hexEncode = (message) => {
118
+ return CryptoJS.enc.Hex.stringify(CryptoJS.enc.Utf8.parse(message));
119
+ };
120
+ var hexDecode = (encoded) => {
121
+ return CryptoJS.enc.Hex.parse(encoded).toString(CryptoJS.enc.Utf8);
122
+ };
123
+ var generateKey = (length = 32) => {
124
+ const key = CryptoJS.lib.WordArray.random(length);
125
+ return CryptoJS.enc.Base64.stringify(key);
126
+ };
127
+ var generateIV = (length = 16) => {
128
+ const iv = CryptoJS.lib.WordArray.random(length);
129
+ return CryptoJS.enc.Base64.stringify(iv);
130
+ };
131
+ var pbkdf2 = (password, salt, iterations = 1e3, keySize = 32) => {
132
+ const key = CryptoJS.PBKDF2(password, salt, {
133
+ keySize: keySize / 4,
134
+ iterations
135
+ });
136
+ return key.toString();
137
+ };
138
+ var uuid = () => {
139
+ return CryptoJS.lib.WordArray.random(16).toString();
140
+ };
141
+
142
+ export { aesDecrypt, aesEncrypt, base64Decode, base64Encode, desDecrypt, desEncrypt, generateIV, generateKey, hexDecode, hexEncode, hmacMD5, hmacSHA1, hmacSHA256, hmacSHA512, md5, pbkdf2, rabbitDecrypt, rabbitEncrypt, rc4Decrypt, rc4Encrypt, sha1, sha256, sha512, tripleDesDecrypt, tripleDesEncrypt, utf8Decode, utf8Encode, uuid };
143
+ //# sourceMappingURL=crypto.js.map
144
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/modules/crypto/index.ts"],"names":["mode"],"mappings":"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","file":"crypto.js","sourcesContent":["/**\n * 加密解密模块\n * 基于 crypto-js 提供常用的加密解密功能\n */\n\nimport * as CryptoJS from 'crypto-js'\n\n/**\n * 加密模式类型\n */\nexport type CryptoMode = any\n\n/**\n * 填充方式类型\n */\nexport type CryptoPadding = any\n\n/**\n * MD5 加密\n * @param message 要加密的消息\n * @returns MD5 哈希值\n */\nexport const md5 = (message: string): string => {\n return CryptoJS.MD5(message).toString()\n}\n\n/**\n * SHA1 加密\n * @param message 要加密的消息\n * @returns SHA1 哈希值\n */\nexport const sha1 = (message: string): string => {\n return CryptoJS.SHA1(message).toString()\n}\n\n/**\n * SHA256 加密\n * @param message 要加密的消息\n * @returns SHA256 哈希值\n */\nexport const sha256 = (message: string): string => {\n return CryptoJS.SHA256(message).toString()\n}\n\n/**\n * SHA512 加密\n * @param message 要加密的消息\n * @returns SHA512 哈希值\n */\nexport const sha512 = (message: string): string => {\n return CryptoJS.SHA512(message).toString()\n}\n\n/**\n * Hmac-MD5 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns Hmac-MD5 哈希值\n */\nexport const hmacMD5 = (message: string, key: string): string => {\n return CryptoJS.HmacMD5(message, key).toString()\n}\n\n/**\n * Hmac-SHA1 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns Hmac-SHA1 哈希值\n */\nexport const hmacSHA1 = (message: string, key: string): string => {\n return CryptoJS.HmacSHA1(message, key).toString()\n}\n\n/**\n * Hmac-SHA256 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns Hmac-SHA256 哈希值\n */\nexport const hmacSHA256 = (message: string, key: string): string => {\n return CryptoJS.HmacSHA256(message, key).toString()\n}\n\n/**\n * Hmac-SHA512 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns Hmac-SHA512 哈希值\n */\nexport const hmacSHA512 = (message: string, key: string): string => {\n return CryptoJS.HmacSHA512(message, key).toString()\n}\n\n/**\n * AES 加密\n * @param message 要加密的消息\n * @param key 密钥(16/24/32 字节)\n * @param iv 初始向量(可选,16 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 加密后的密文(Base64 格式)\n */\nexport const aesEncrypt = (\n message: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const encrypted = CryptoJS.AES.encrypt(message, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return encrypted.toString()\n}\n\n/**\n * AES 解密\n * @param ciphertext 密文(Base64 格式)\n * @param key 密钥(16/24/32 字节)\n * @param iv 初始向量(可选,16 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 解密后的明文\n */\nexport const aesDecrypt = (\n ciphertext: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const decrypted = CryptoJS.AES.decrypt(ciphertext, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return decrypted.toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * DES 加密\n * @param message 要加密的消息\n * @param key 密钥(8 字节)\n * @param iv 初始向量(可选,8 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 加密后的密文(Base64 格式)\n */\nexport const desEncrypt = (\n message: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const encrypted = CryptoJS.DES.encrypt(message, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return encrypted.toString()\n}\n\n/**\n * DES 解密\n * @param ciphertext 密文(Base64 格式)\n * @param key 密钥(8 字节)\n * @param iv 初始向量(可选,8 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 解密后的明文\n */\nexport const desDecrypt = (\n ciphertext: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const decrypted = CryptoJS.DES.decrypt(ciphertext, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return decrypted.toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * Triple DES (3DES) 加密\n * @param message 要加密的消息\n * @param key 密钥(24 字节)\n * @param iv 初始向量(可选,8 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 加密后的密文(Base64 格式)\n */\nexport const tripleDesEncrypt = (\n message: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const encrypted = CryptoJS.TripleDES.encrypt(message, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return encrypted.toString()\n}\n\n/**\n * Triple DES (3DES) 解密\n * @param ciphertext 密文(Base64 格式)\n * @param key 密钥(24 字节)\n * @param iv 初始向量(可选,8 字节)\n * @param mode 加密模式(默认 CBC)\n * @param padding 填充方式(默认 Pkcs7)\n * @returns 解密后的明文\n */\nexport const tripleDesDecrypt = (\n ciphertext: string,\n key: string,\n iv?: string,\n mode: CryptoMode = CryptoJS.mode.CBC,\n padding: CryptoPadding = CryptoJS.pad.Pkcs7\n): string => {\n const keyWord = CryptoJS.enc.Utf8.parse(key)\n const ivWord = iv ? CryptoJS.enc.Utf8.parse(iv) : undefined\n\n const decrypted = CryptoJS.TripleDES.decrypt(ciphertext, keyWord, {\n iv: ivWord,\n mode: mode,\n padding: padding\n })\n\n return decrypted.toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * RC4 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns 加密后的密文(Base64 格式)\n */\nexport const rc4Encrypt = (message: string, key: string): string => {\n const encrypted = CryptoJS.RC4.encrypt(message, key)\n return encrypted.toString()\n}\n\n/**\n * RC4 解密\n * @param ciphertext 密文(Base64 格式)\n * @param key 密钥\n * @returns 解密后的明文\n */\nexport const rc4Decrypt = (ciphertext: string, key: string): string => {\n const decrypted = CryptoJS.RC4.decrypt(ciphertext, key)\n return decrypted.toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * Rabbit 加密\n * @param message 要加密的消息\n * @param key 密钥\n * @returns 加密后的密文(Base64 格式)\n */\nexport const rabbitEncrypt = (message: string, key: string): string => {\n const encrypted = CryptoJS.Rabbit.encrypt(message, key)\n return encrypted.toString()\n}\n\n/**\n * Rabbit 解密\n * @param ciphertext 密文(Base64 格式)\n * @param key 密钥\n * @returns 解密后的明文\n */\nexport const rabbitDecrypt = (ciphertext: string, key: string): string => {\n const decrypted = CryptoJS.Rabbit.decrypt(ciphertext, key)\n return decrypted.toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * Base64 编码\n * @param message 要编码的消息\n * @returns Base64 编码后的字符串\n */\nexport const base64Encode = (message: string): string => {\n return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(message))\n}\n\n/**\n * Base64 解码\n * @param encoded Base64 编码的字符串\n * @returns 解码后的原始消息\n */\nexport const base64Decode = (encoded: string): string => {\n return CryptoJS.enc.Base64.parse(encoded).toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * UTF-8 编码\n * @param message 要编码的消息\n * @returns UTF-8 编码后的字符串\n */\nexport const utf8Encode = (message: string): string => {\n return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Utf8.parse(message))\n}\n\n/**\n * UTF-8 解码\n * @param encoded UTF-8 编码的字符串\n * @returns 解码后的原始消息\n */\nexport const utf8Decode = (encoded: string): string => {\n return CryptoJS.enc.Utf8.parse(encoded).toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * Hex 编码\n * @param message 要编码的消息\n * @returns Hex 编码后的字符串\n */\nexport const hexEncode = (message: string): string => {\n return CryptoJS.enc.Hex.stringify(CryptoJS.enc.Utf8.parse(message))\n}\n\n/**\n * Hex 解码\n * @param encoded Hex 编码的字符串\n * @returns 解码后的原始消息\n */\nexport const hexDecode = (encoded: string): string => {\n return CryptoJS.enc.Hex.parse(encoded).toString(CryptoJS.enc.Utf8)\n}\n\n/**\n * 生成随机密钥\n * @param length 密钥长度(字节)\n * @returns 随机密钥(Base64 格式)\n */\nexport const generateKey = (length: number = 32): string => {\n const key = CryptoJS.lib.WordArray.random(length)\n return CryptoJS.enc.Base64.stringify(key)\n}\n\n/**\n * 生成随机 IV(初始向量)\n * @param length IV 长度(字节,默认 16)\n * @returns 随机 IV(Base64 格式)\n */\nexport const generateIV = (length: number = 16): string => {\n const iv = CryptoJS.lib.WordArray.random(length)\n return CryptoJS.enc.Base64.stringify(iv)\n}\n\n/**\n * PBKDF2 密钥派生\n * @param password 密码\n * @param salt 盐值\n * @param iterations 迭代次数\n * @param keySize 密钥长度(字节)\n * @returns 派生的密钥(Hex 格式)\n */\nexport const pbkdf2 = (password: string, salt: string, iterations: number = 1000, keySize: number = 32): string => {\n const key = CryptoJS.PBKDF2(password, salt, {\n keySize: keySize / 4,\n iterations: iterations\n })\n return key.toString()\n}\n\n/**\n * 生成 UUID v4\n * @returns UUID 字符串\n */\nexport const uuid = (): string => {\n return CryptoJS.lib.WordArray.random(16).toString()\n}\n\n// 导出 CryptoJS 相关类型和常量\nexport { CryptoJS }\n"]}