@ivujs/i-utils 1.1.17 → 2.0.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 (204) hide show
  1. package/README.md +96 -30
  2. package/dist/cjs/ID-card/index.cjs +87 -0
  3. package/dist/cjs/array/index.cjs +470 -0
  4. package/dist/cjs/clipboard/index.cjs +128 -0
  5. package/dist/cjs/color/index.cjs +193 -0
  6. package/dist/cjs/constants/date.cjs +178 -0
  7. package/dist/cjs/constants/id-card.cjs +52 -0
  8. package/dist/cjs/constants/keycode.cjs +117 -0
  9. package/dist/cjs/constants/lang.cjs +13 -0
  10. package/dist/cjs/constants/math.cjs +13 -0
  11. package/dist/cjs/constants/regexp.cjs +53 -0
  12. package/dist/cjs/constants/sort.cjs +15 -0
  13. package/dist/cjs/cookie/index.cjs +70 -0
  14. package/dist/cjs/crypto/aes/aes.cjs +480 -0
  15. package/dist/cjs/crypto/aes/index.cjs +27 -0
  16. package/dist/cjs/crypto/base32/base32.cjs +357 -0
  17. package/dist/cjs/crypto/base32/index.cjs +41 -0
  18. package/dist/cjs/crypto/base64/base64.cjs +348 -0
  19. package/dist/cjs/crypto/base64/index.cjs +59 -0
  20. package/dist/cjs/crypto/des/des.cjs +257 -0
  21. package/dist/cjs/crypto/des/index.cjs +28 -0
  22. package/dist/cjs/crypto/md5/index.cjs +24 -0
  23. package/dist/cjs/crypto/md5/md5.cjs +897 -0
  24. package/dist/cjs/crypto/sha/sha1/index.cjs +24 -0
  25. package/dist/cjs/crypto/sha/sha1/sha1.cjs +529 -0
  26. package/dist/cjs/crypto/sha/sha256/index.cjs +43 -0
  27. package/dist/cjs/crypto/sha/sha256/sha256.cjs +595 -0
  28. package/dist/cjs/crypto/sha/sha3/index.cjs +41 -0
  29. package/dist/cjs/crypto/sha/sha3/sha3.cjs +624 -0
  30. package/dist/cjs/crypto/sha/sha512/index.cjs +81 -0
  31. package/dist/cjs/crypto/sha/sha512/sha512.cjs +950 -0
  32. package/dist/cjs/crypto/sm/lib/asn1.cjs +149 -0
  33. package/dist/cjs/crypto/sm/lib/ec.cjs +315 -0
  34. package/dist/cjs/crypto/sm/lib/jsbn.cjs +1608 -0
  35. package/dist/cjs/crypto/sm/lib/sm3.cjs +158 -0
  36. package/dist/cjs/crypto/sm/lib/utils.cjs +170 -0
  37. package/dist/cjs/crypto/sm/sm2/index.cjs +112 -0
  38. package/dist/cjs/crypto/sm/sm2/sm2.cjs +231 -0
  39. package/dist/cjs/crypto/sm/sm3/index.cjs +15 -0
  40. package/dist/cjs/crypto/sm/sm3/sm3.cjs +93 -0
  41. package/dist/cjs/crypto/sm/sm4/index.cjs +27 -0
  42. package/dist/cjs/crypto/sm/sm4/sm4.cjs +327 -0
  43. package/dist/cjs/crypto/tea/index.cjs +25 -0
  44. package/dist/cjs/crypto/tea/tea.cjs +187 -0
  45. package/dist/cjs/date/index.cjs +1266 -0
  46. package/dist/cjs/desensitized/index.cjs +75 -0
  47. package/dist/cjs/device/index.cjs +151 -0
  48. package/dist/cjs/dom/index.cjs +129 -0
  49. package/dist/cjs/file/index.cjs +333 -0
  50. package/dist/cjs/function/index.cjs +69 -0
  51. package/dist/cjs/index.cjs +402 -7
  52. package/dist/cjs/keycode/index.cjs +33 -0
  53. package/dist/cjs/math/index.cjs +278 -0
  54. package/dist/cjs/number/index.cjs +31 -0
  55. package/dist/cjs/object/index.cjs +272 -0
  56. package/dist/cjs/pagination/index.cjs +131 -0
  57. package/dist/cjs/random/index.cjs +24 -0
  58. package/dist/cjs/regexp/index.cjs +100 -0
  59. package/dist/cjs/storage/index.cjs +11 -0
  60. package/dist/cjs/storage/localStorage.cjs +37 -0
  61. package/dist/cjs/storage/sessionStorage.cjs +37 -0
  62. package/dist/cjs/string/index.cjs +358 -0
  63. package/dist/cjs/url/index.cjs +258 -0
  64. package/dist/cjs/validate/index.cjs +468 -0
  65. package/dist/cjs/weapp/index.cjs +142 -0
  66. package/dist/es/ID-card/index.d.ts +31 -0
  67. package/dist/es/ID-card/index.mjs +81 -0
  68. package/dist/es/array/index.d.ts +203 -0
  69. package/dist/es/array/index.mjs +441 -0
  70. package/dist/es/clipboard/index.d.ts +29 -0
  71. package/dist/es/clipboard/index.mjs +122 -0
  72. package/dist/es/color/index.d.ts +52 -0
  73. package/dist/es/color/index.mjs +183 -0
  74. package/dist/es/constants/date.d.ts +174 -0
  75. package/dist/es/constants/date.mjs +176 -0
  76. package/dist/es/constants/id-card.d.ts +43 -0
  77. package/dist/es/constants/id-card.mjs +50 -0
  78. package/dist/es/constants/index.d.ts +7 -0
  79. package/dist/es/constants/keycode.d.ts +103 -0
  80. package/dist/es/constants/keycode.mjs +115 -0
  81. package/dist/es/constants/lang.d.ts +4 -0
  82. package/dist/es/constants/lang.mjs +11 -0
  83. package/dist/es/constants/math.d.ts +4 -0
  84. package/dist/es/constants/math.mjs +11 -0
  85. package/dist/es/constants/regexp.d.ts +24 -0
  86. package/dist/es/constants/regexp.mjs +51 -0
  87. package/dist/es/constants/sort.d.ts +5 -0
  88. package/dist/es/constants/sort.mjs +13 -0
  89. package/dist/es/cookie/index.d.ts +29 -0
  90. package/dist/es/cookie/index.mjs +64 -0
  91. package/dist/es/crypto/aes/aes.d.ts +156 -0
  92. package/dist/es/crypto/aes/aes.mjs +478 -0
  93. package/dist/es/crypto/aes/index.d.ts +16 -0
  94. package/dist/es/crypto/aes/index.mjs +24 -0
  95. package/dist/es/crypto/base32/base32.d.ts +3 -0
  96. package/dist/es/crypto/base32/base32.mjs +353 -0
  97. package/dist/es/crypto/base32/index.d.ts +24 -0
  98. package/dist/es/crypto/base32/index.mjs +36 -0
  99. package/dist/es/crypto/base64/base64.d.ts +5 -0
  100. package/dist/es/crypto/base64/base64.mjs +342 -0
  101. package/dist/es/crypto/base64/index.d.ts +36 -0
  102. package/dist/es/crypto/base64/index.mjs +52 -0
  103. package/dist/es/crypto/des/des.d.ts +52 -0
  104. package/dist/es/crypto/des/des.mjs +255 -0
  105. package/dist/es/crypto/des/index.d.ts +14 -0
  106. package/dist/es/crypto/des/index.mjs +25 -0
  107. package/dist/es/crypto/index.d.ts +8 -0
  108. package/dist/es/crypto/md5/index.d.ts +13 -0
  109. package/dist/es/crypto/md5/index.mjs +21 -0
  110. package/dist/es/crypto/md5/md5.d.ts +144 -0
  111. package/dist/es/crypto/md5/md5.mjs +894 -0
  112. package/dist/es/crypto/sha/index.d.ts +4 -0
  113. package/dist/es/crypto/sha/sha1/index.d.ts +13 -0
  114. package/dist/es/crypto/sha/sha1/index.mjs +21 -0
  115. package/dist/es/crypto/sha/sha1/sha1.d.ts +2 -0
  116. package/dist/es/crypto/sha/sha1/sha1.mjs +526 -0
  117. package/dist/es/crypto/sha/sha256/index.d.ts +26 -0
  118. package/dist/es/crypto/sha/sha256/index.mjs +38 -0
  119. package/dist/es/crypto/sha/sha256/sha256.d.ts +4 -0
  120. package/dist/es/crypto/sha/sha256/sha256.mjs +590 -0
  121. package/dist/es/crypto/sha/sha3/index.d.ts +24 -0
  122. package/dist/es/crypto/sha/sha3/index.mjs +36 -0
  123. package/dist/es/crypto/sha/sha3/sha3.d.ts +4 -0
  124. package/dist/es/crypto/sha/sha3/sha3.mjs +619 -0
  125. package/dist/es/crypto/sha/sha512/index.d.ts +52 -0
  126. package/dist/es/crypto/sha/sha512/index.mjs +72 -0
  127. package/dist/es/crypto/sha/sha512/sha512.d.ts +8 -0
  128. package/dist/es/crypto/sha/sha512/sha512.mjs +941 -0
  129. package/dist/es/crypto/sm/index.d.ts +3 -0
  130. package/dist/es/crypto/sm/lib/asn1.d.ts +12 -0
  131. package/dist/es/crypto/sm/lib/asn1.mjs +146 -0
  132. package/dist/es/crypto/sm/lib/ec.d.ts +126 -0
  133. package/dist/es/crypto/sm/lib/ec.mjs +312 -0
  134. package/dist/es/crypto/sm/lib/jsbn.d.ts +198 -0
  135. package/dist/es/crypto/sm/lib/jsbn.mjs +1605 -0
  136. package/dist/es/crypto/sm/lib/sm3.d.ts +5 -0
  137. package/dist/es/crypto/sm/lib/sm3.mjs +155 -0
  138. package/dist/es/crypto/sm/lib/utils.d.ts +53 -0
  139. package/dist/es/crypto/sm/lib/utils.mjs +158 -0
  140. package/dist/es/crypto/sm/sm2/index.d.ts +71 -0
  141. package/dist/es/crypto/sm/sm2/index.mjs +101 -0
  142. package/dist/es/crypto/sm/sm2/sm2.d.ts +34 -0
  143. package/dist/es/crypto/sm/sm2/sm2.mjs +220 -0
  144. package/dist/es/crypto/sm/sm3/index.d.ts +7 -0
  145. package/dist/es/crypto/sm/sm3/index.mjs +13 -0
  146. package/dist/es/crypto/sm/sm3/sm3.d.ts +1 -0
  147. package/dist/es/crypto/sm/sm3/sm3.mjs +91 -0
  148. package/dist/es/crypto/sm/sm4/index.d.ts +16 -0
  149. package/dist/es/crypto/sm/sm4/index.mjs +24 -0
  150. package/dist/es/crypto/sm/sm4/sm4.d.ts +2 -0
  151. package/dist/es/crypto/sm/sm4/sm4.mjs +324 -0
  152. package/dist/es/crypto/tea/index.d.ts +14 -0
  153. package/dist/es/crypto/tea/index.mjs +22 -0
  154. package/dist/es/crypto/tea/tea.d.ts +69 -0
  155. package/dist/es/crypto/tea/tea.mjs +185 -0
  156. package/dist/es/date/index.d.ts +547 -0
  157. package/dist/es/date/index.mjs +1179 -0
  158. package/dist/es/desensitized/index.d.ts +38 -0
  159. package/dist/es/desensitized/index.mjs +69 -0
  160. package/dist/es/device/index.d.ts +67 -0
  161. package/dist/es/device/index.mjs +137 -0
  162. package/dist/es/dom/index.d.ts +57 -0
  163. package/dist/es/dom/index.mjs +119 -0
  164. package/dist/es/file/index.d.ts +93 -0
  165. package/dist/es/file/index.mjs +317 -0
  166. package/dist/es/function/index.d.ts +23 -0
  167. package/dist/es/function/index.mjs +65 -0
  168. package/dist/es/index.d.ts +26 -1
  169. package/dist/es/index.mjs +57 -4
  170. package/dist/es/keycode/index.d.ts +12 -0
  171. package/dist/es/keycode/index.mjs +30 -0
  172. package/dist/es/math/index.d.ts +66 -0
  173. package/dist/es/math/index.mjs +268 -0
  174. package/dist/es/number/index.d.ts +14 -0
  175. package/dist/es/number/index.mjs +28 -0
  176. package/dist/es/object/index.d.ts +83 -0
  177. package/dist/es/object/index.mjs +259 -0
  178. package/dist/es/pagination/index.d.ts +34 -0
  179. package/dist/es/pagination/index.mjs +125 -0
  180. package/dist/es/random/index.d.ts +15 -0
  181. package/dist/es/random/index.mjs +21 -0
  182. package/dist/es/regexp/index.d.ts +63 -0
  183. package/dist/es/regexp/index.mjs +89 -0
  184. package/dist/es/storage/index.d.ts +7 -0
  185. package/dist/es/storage/index.mjs +9 -0
  186. package/dist/es/storage/localStorage.d.ts +21 -0
  187. package/dist/es/storage/localStorage.mjs +32 -0
  188. package/dist/es/storage/sessionStorage.d.ts +21 -0
  189. package/dist/es/storage/sessionStorage.mjs +32 -0
  190. package/dist/es/string/index.d.ts +121 -0
  191. package/dist/es/string/index.mjs +339 -0
  192. package/dist/es/url/index.d.ts +118 -0
  193. package/dist/es/url/index.mjs +240 -0
  194. package/dist/es/validate/index.d.ts +228 -0
  195. package/dist/es/validate/index.mjs +431 -0
  196. package/dist/es/weapp/index.d.ts +57 -0
  197. package/dist/es/weapp/index.mjs +131 -0
  198. package/dist/index.d.ts +2857 -17
  199. package/dist/lib/index.full.umd.js +14238 -31
  200. package/dist/lib/index.full.umd.min.js +64 -2
  201. package/dist/lib/index.full.umd.min.js.map +1 -1
  202. package/dist/resolver/auto-imports.cjs +337 -1
  203. package/dist/resolver/auto-imports.mjs +337 -1
  204. package/package.json +90 -91
@@ -0,0 +1,255 @@
1
+ import * as index from '../base64/index.mjs';
2
+
3
+ const { encode, decode } = index;
4
+ /**
5
+ * 使用方法
6
+ * 实例化对象 new Des()
7
+ * 加密方法 encrypt(key,plaintext)
8
+ * 解密方法 decrypt(key,ciphertext)
9
+ * 示例---------------------------------------------------
10
+ * var Des = new Des();
11
+ * var key = 'custom key';
12
+ * var value = '需要加密的内容'
13
+ * var ciphertext = encrypt(key,value);//加密
14
+ * var plaintext = encrypt(key,ciphertext);//解密
15
+ */
16
+ function Des(key, value) {
17
+ this.key = key;
18
+ this.value = value;
19
+ }
20
+ /**
21
+ * @param {String} key 密钥
22
+ * @param {String} value 内容
23
+ * @param {String} type 类型 ->encrypt加密|decrypt解密
24
+ */
25
+ Des.prototype._DesCreate = function (key, value, type) {
26
+ var message = value;
27
+ if (type === "decrypt") {
28
+ var requestValue = "";
29
+ for (var i = value.substr(0, 2) == "0x" ? 2 : 0; i < value.length; i += 2) {
30
+ requestValue += String.fromCharCode(parseInt(value.substr(i, 2), 16));
31
+ }
32
+ message = requestValue;
33
+ }
34
+ var spfunction1 = new Array(0x1010400, 0, 0x10000, 0x1010404, 0x1010004, 0x10404, 0x4, 0x10000, 0x400, 0x1010400, 0x1010404, 0x400, 0x1000404, 0x1010004, 0x1000000, 0x4, 0x404, 0x1000400, 0x1000400, 0x10400, 0x10400, 0x1010000, 0x1010000, 0x1000404, 0x10004, 0x1000004, 0x1000004, 0x10004, 0, 0x404, 0x10404, 0x1000000, 0x10000, 0x1010404, 0x4, 0x1010000, 0x1010400, 0x1000000, 0x1000000, 0x400, 0x1010004, 0x10000, 0x10400, 0x1000004, 0x400, 0x4, 0x1000404, 0x10404, 0x1010404, 0x10004, 0x1010000, 0x1000404, 0x1000004, 0x404, 0x10404, 0x1010400, 0x404, 0x1000400, 0x1000400, 0, 0x10004, 0x10400, 0, 0x1010004);
35
+ var spfunction2 = new Array(-2146402272, -2147450880, 0x8000, 0x108020, 0x100000, 0x20, -2146435040, -2147450848, -2147483616, -2146402272, -2146402304, -2147483648, -2147450880, 0x100000, 0x20, -2146435040, 0x108000, 0x100020, -2147450848, 0, -2147483648, 0x8000, 0x108020, -2146435072, 0x100020, -2147483616, 0, 0x108000, 0x8020, -2146402304, -2146435072, 0x8020, 0, 0x108020, -2146435040, 0x100000, -2147450848, -2146435072, -2146402304, 0x8000, -2146435072, -2147450880, 0x20, -2146402272, 0x108020, 0x20, 0x8000, -2147483648, 0x8020, -2146402304, 0x100000, -2147483616, 0x100020, -2147450848, -2147483616, 0x100020, 0x108000, 0, -2147450880, 0x8020, -2147483648, -2146435040, -2146402272, 0x108000);
36
+ var spfunction3 = new Array(0x208, 0x8020200, 0, 0x8020008, 0x8000200, 0, 0x20208, 0x8000200, 0x20008, 0x8000008, 0x8000008, 0x20000, 0x8020208, 0x20008, 0x8020000, 0x208, 0x8000000, 0x8, 0x8020200, 0x200, 0x20200, 0x8020000, 0x8020008, 0x20208, 0x8000208, 0x20200, 0x20000, 0x8000208, 0x8, 0x8020208, 0x200, 0x8000000, 0x8020200, 0x8000000, 0x20008, 0x208, 0x20000, 0x8020200, 0x8000200, 0, 0x200, 0x20008, 0x8020208, 0x8000200, 0x8000008, 0x200, 0, 0x8020008, 0x8000208, 0x20000, 0x8000000, 0x8020208, 0x8, 0x20208, 0x20200, 0x8000008, 0x8020000, 0x8000208, 0x208, 0x8020000, 0x20208, 0x8, 0x8020008, 0x20200);
37
+ var spfunction4 = new Array(0x802001, 0x2081, 0x2081, 0x80, 0x802080, 0x800081, 0x800001, 0x2001, 0, 0x802000, 0x802000, 0x802081, 0x81, 0, 0x800080, 0x800001, 0x1, 0x2000, 0x800000, 0x802001, 0x80, 0x800000, 0x2001, 0x2080, 0x800081, 0x1, 0x2080, 0x800080, 0x2000, 0x802080, 0x802081, 0x81, 0x800080, 0x800001, 0x802000, 0x802081, 0x81, 0, 0, 0x802000, 0x2080, 0x800080, 0x800081, 0x1, 0x802001, 0x2081, 0x2081, 0x80, 0x802081, 0x81, 0x1, 0x2000, 0x800001, 0x2001, 0x802080, 0x800081, 0x2001, 0x2080, 0x800000, 0x802001, 0x80, 0x800000, 0x2000, 0x802080);
38
+ var spfunction5 = new Array(0x100, 0x2080100, 0x2080000, 0x42000100, 0x80000, 0x100, 0x40000000, 0x2080000, 0x40080100, 0x80000, 0x2000100, 0x40080100, 0x42000100, 0x42080000, 0x80100, 0x40000000, 0x2000000, 0x40080000, 0x40080000, 0, 0x40000100, 0x42080100, 0x42080100, 0x2000100, 0x42080000, 0x40000100, 0, 0x42000000, 0x2080100, 0x2000000, 0x42000000, 0x80100, 0x80000, 0x42000100, 0x100, 0x2000000, 0x40000000, 0x2080000, 0x42000100, 0x40080100, 0x2000100, 0x40000000, 0x42080000, 0x2080100, 0x40080100, 0x100, 0x2000000, 0x42080000, 0x42080100, 0x80100, 0x42000000, 0x42080100, 0x2080000, 0, 0x40080000, 0x42000000, 0x80100, 0x2000100, 0x40000100, 0x80000, 0, 0x40080000, 0x2080100, 0x40000100);
39
+ var spfunction6 = new Array(0x20000010, 0x20400000, 0x4000, 0x20404010, 0x20400000, 0x10, 0x20404010, 0x400000, 0x20004000, 0x404010, 0x400000, 0x20000010, 0x400010, 0x20004000, 0x20000000, 0x4010, 0, 0x400010, 0x20004010, 0x4000, 0x404000, 0x20004010, 0x10, 0x20400010, 0x20400010, 0, 0x404010, 0x20404000, 0x4010, 0x404000, 0x20404000, 0x20000000, 0x20004000, 0x10, 0x20400010, 0x404000, 0x20404010, 0x400000, 0x4010, 0x20000010, 0x400000, 0x20004000, 0x20000000, 0x4010, 0x20000010, 0x20404010, 0x404000, 0x20400000, 0x404010, 0x20404000, 0, 0x20400010, 0x10, 0x4000, 0x20400000, 0x404010, 0x4000, 0x400010, 0x20004010, 0, 0x20404000, 0x20000000, 0x400010, 0x20004010);
40
+ var spfunction7 = new Array(0x200000, 0x4200002, 0x4000802, 0, 0x800, 0x4000802, 0x200802, 0x4200800, 0x4200802, 0x200000, 0, 0x4000002, 0x2, 0x4000000, 0x4200002, 0x802, 0x4000800, 0x200802, 0x200002, 0x4000800, 0x4000002, 0x4200000, 0x4200800, 0x200002, 0x4200000, 0x800, 0x802, 0x4200802, 0x200800, 0x2, 0x4000000, 0x200800, 0x4000000, 0x200800, 0x200000, 0x4000802, 0x4000802, 0x4200002, 0x4200002, 0x2, 0x200002, 0x4000000, 0x4000800, 0x200000, 0x4200800, 0x802, 0x200802, 0x4200800, 0x802, 0x4000002, 0x4200802, 0x4200000, 0x200800, 0, 0x2, 0x4200802, 0, 0x200802, 0x4200000, 0x800, 0x4000002, 0x4000800, 0x800, 0x200002);
41
+ var spfunction8 = new Array(0x10001040, 0x1000, 0x40000, 0x10041040, 0x10000000, 0x10001040, 0x40, 0x10000000, 0x40040, 0x10040000, 0x10041040, 0x41000, 0x10041000, 0x41040, 0x1000, 0x40, 0x10040000, 0x10000040, 0x10001000, 0x1040, 0x41000, 0x40040, 0x10040040, 0x10041000, 0x1040, 0, 0, 0x10040040, 0x10000040, 0x10001000, 0x41040, 0x40000, 0x41040, 0x40000, 0x10041000, 0x1000, 0x40, 0x10040040, 0x1000, 0x41040, 0x10001000, 0x40, 0x10000040, 0x10040000, 0x10040040, 0x10000000, 0x40000, 0x10001040, 0, 0x10041040, 0x40040, 0x10000040, 0x10040000, 0x10001000, 0x10001040, 0, 0x10041040, 0x41000, 0x41000, 0x1040, 0x1040, 0x40040, 0x10000000, 0x10041000);
42
+ var keys = this._DesCreateKeys(key);
43
+ var m = 0, i, j, temp, right1, right2, left, right, looping;
44
+ var endloop, loopinc;
45
+ var len = message.length;
46
+ var chunk = 0;
47
+ var iterations = keys.length == 32 ? 3 : 9;
48
+ if (iterations == 3) {
49
+ looping = type === "encrypt" ? new Array(0, 32, 2) : new Array(30, -2, -2);
50
+ }
51
+ else {
52
+ looping =
53
+ type === "encrypt" ? new Array(0, 32, 2, 62, 30, -2, 64, 96, 2) : new Array(94, 62, -2, 32, 64, 2, 30, -2, -2);
54
+ }
55
+ var result = "";
56
+ var tempresult = "";
57
+ while (m < len) {
58
+ left =
59
+ (message.charCodeAt(m++) << 24) |
60
+ (message.charCodeAt(m++) << 16) |
61
+ (message.charCodeAt(m++) << 8) |
62
+ message.charCodeAt(m++);
63
+ right =
64
+ (message.charCodeAt(m++) << 24) |
65
+ (message.charCodeAt(m++) << 16) |
66
+ (message.charCodeAt(m++) << 8) |
67
+ message.charCodeAt(m++);
68
+ temp = ((left >>> 4) ^ right) & 0x0f0f0f0f;
69
+ right ^= temp;
70
+ left ^= temp << 4;
71
+ temp = ((left >>> 16) ^ right) & 0x0000ffff;
72
+ right ^= temp;
73
+ left ^= temp << 16;
74
+ temp = ((right >>> 2) ^ left) & 0x33333333;
75
+ left ^= temp;
76
+ right ^= temp << 2;
77
+ temp = ((right >>> 8) ^ left) & 0x00ff00ff;
78
+ left ^= temp;
79
+ right ^= temp << 8;
80
+ temp = ((left >>> 1) ^ right) & 0x55555555;
81
+ right ^= temp;
82
+ left ^= temp << 1;
83
+ left = (left << 1) | (left >>> 31);
84
+ right = (right << 1) | (right >>> 31);
85
+ for (j = 0; j < iterations; j += 3) {
86
+ endloop = looping[j + 1];
87
+ loopinc = looping[j + 2];
88
+ for (i = looping[j]; i != endloop; i += loopinc) {
89
+ right1 = right ^ keys[i];
90
+ right2 = ((right >>> 4) | (right << 28)) ^ keys[i + 1];
91
+ temp = left;
92
+ left = right;
93
+ right =
94
+ temp ^
95
+ (spfunction2[(right1 >>> 24) & 0x3f] |
96
+ spfunction4[(right1 >>> 16) & 0x3f] |
97
+ spfunction6[(right1 >>> 8) & 0x3f] |
98
+ spfunction8[right1 & 0x3f] |
99
+ spfunction1[(right2 >>> 24) & 0x3f] |
100
+ spfunction3[(right2 >>> 16) & 0x3f] |
101
+ spfunction5[(right2 >>> 8) & 0x3f] |
102
+ spfunction7[right2 & 0x3f]);
103
+ }
104
+ temp = left;
105
+ left = right;
106
+ right = temp;
107
+ }
108
+ left = (left >>> 1) | (left << 31);
109
+ right = (right >>> 1) | (right << 31);
110
+ temp = ((left >>> 1) ^ right) & 0x55555555;
111
+ right ^= temp;
112
+ left ^= temp << 1;
113
+ temp = ((right >>> 8) ^ left) & 0x00ff00ff;
114
+ left ^= temp;
115
+ right ^= temp << 8;
116
+ temp = ((right >>> 2) ^ left) & 0x33333333;
117
+ left ^= temp;
118
+ right ^= temp << 2;
119
+ temp = ((left >>> 16) ^ right) & 0x0000ffff;
120
+ right ^= temp;
121
+ left ^= temp << 16;
122
+ temp = ((left >>> 4) ^ right) & 0x0f0f0f0f;
123
+ right ^= temp;
124
+ left ^= temp << 4;
125
+ tempresult += String.fromCharCode(left >>> 24, (left >>> 16) & 0xff, (left >>> 8) & 0xff, left & 0xff, right >>> 24, (right >>> 16) & 0xff, (right >>> 8) & 0xff, right & 0xff);
126
+ chunk += 8;
127
+ if (chunk == 512) {
128
+ result += tempresult;
129
+ tempresult = "";
130
+ chunk = 0;
131
+ }
132
+ }
133
+ var resultTempresult = result + tempresult;
134
+ if (type === "encrypt") {
135
+ var resultCiphertext = "";
136
+ var hexes = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
137
+ for (var i = 0; i < resultTempresult.length; i++) {
138
+ resultCiphertext += hexes[resultTempresult.charCodeAt(i) >> 4] + hexes[resultTempresult.charCodeAt(i) & 0xf];
139
+ }
140
+ return resultCiphertext;
141
+ }
142
+ return result + tempresult;
143
+ };
144
+ Des.prototype._DesCreateKeys = function (key) {
145
+ var pc2bytes0 = new Array(0, 0x4, 0x20000000, 0x20000004, 0x10000, 0x10004, 0x20010000, 0x20010004, 0x200, 0x204, 0x20000200, 0x20000204, 0x10200, 0x10204, 0x20010200, 0x20010204);
146
+ var pc2bytes1 = new Array(0, 0x1, 0x100000, 0x100001, 0x4000000, 0x4000001, 0x4100000, 0x4100001, 0x100, 0x101, 0x100100, 0x100101, 0x4000100, 0x4000101, 0x4100100, 0x4100101);
147
+ var pc2bytes2 = new Array(0, 0x8, 0x800, 0x808, 0x1000000, 0x1000008, 0x1000800, 0x1000808, 0, 0x8, 0x800, 0x808, 0x1000000, 0x1000008, 0x1000800, 0x1000808);
148
+ var pc2bytes3 = new Array(0, 0x200000, 0x8000000, 0x8200000, 0x2000, 0x202000, 0x8002000, 0x8202000, 0x20000, 0x220000, 0x8020000, 0x8220000, 0x22000, 0x222000, 0x8022000, 0x8222000);
149
+ var pc2bytes4 = new Array(0, 0x40000, 0x10, 0x40010, 0, 0x40000, 0x10, 0x40010, 0x1000, 0x41000, 0x1010, 0x41010, 0x1000, 0x41000, 0x1010, 0x41010);
150
+ var pc2bytes5 = new Array(0, 0x400, 0x20, 0x420, 0, 0x400, 0x20, 0x420, 0x2000000, 0x2000400, 0x2000020, 0x2000420, 0x2000000, 0x2000400, 0x2000020, 0x2000420);
151
+ var pc2bytes6 = new Array(0, 0x10000000, 0x80000, 0x10080000, 0x2, 0x10000002, 0x80002, 0x10080002, 0, 0x10000000, 0x80000, 0x10080000, 0x2, 0x10000002, 0x80002, 0x10080002);
152
+ var pc2bytes7 = new Array(0, 0x10000, 0x800, 0x10800, 0x20000000, 0x20010000, 0x20000800, 0x20010800, 0x20000, 0x30000, 0x20800, 0x30800, 0x20020000, 0x20030000, 0x20020800, 0x20030800);
153
+ var pc2bytes8 = new Array(0, 0x40000, 0, 0x40000, 0x2, 0x40002, 0x2, 0x40002, 0x2000000, 0x2040000, 0x2000000, 0x2040000, 0x2000002, 0x2040002, 0x2000002, 0x2040002);
154
+ var pc2bytes9 = new Array(0, 0x10000000, 0x8, 0x10000008, 0, 0x10000000, 0x8, 0x10000008, 0x400, 0x10000400, 0x408, 0x10000408, 0x400, 0x10000400, 0x408, 0x10000408);
155
+ var pc2bytes10 = new Array(0, 0x20, 0, 0x20, 0x100000, 0x100020, 0x100000, 0x100020, 0x2000, 0x2020, 0x2000, 0x2020, 0x102000, 0x102020, 0x102000, 0x102020);
156
+ var pc2bytes11 = new Array(0, 0x1000000, 0x200, 0x1000200, 0x200000, 0x1200000, 0x200200, 0x1200200, 0x4000000, 0x5000000, 0x4000200, 0x5000200, 0x4200000, 0x5200000, 0x4200200, 0x5200200);
157
+ var pc2bytes12 = new Array(0, 0x1000, 0x8000000, 0x8001000, 0x80000, 0x81000, 0x8080000, 0x8081000, 0x10, 0x1010, 0x8000010, 0x8001010, 0x80010, 0x81010, 0x8080010, 0x8081010);
158
+ var pc2bytes13 = new Array(0, 0x4, 0x100, 0x104, 0, 0x4, 0x100, 0x104, 0x1, 0x5, 0x101, 0x105, 0x1, 0x5, 0x101, 0x105);
159
+ var iterations = key.length > 8 ? 3 : 1;
160
+ var keys = new Array(32 * iterations);
161
+ var shifts = new Array(0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0);
162
+ var lefttemp, righttemp, m = 0, n = 0, temp;
163
+ for (var j = 0; j < iterations; j++) {
164
+ var left = (key.charCodeAt(m++) << 24) | (key.charCodeAt(m++) << 16) | (key.charCodeAt(m++) << 8) | key.charCodeAt(m++);
165
+ var right = (key.charCodeAt(m++) << 24) | (key.charCodeAt(m++) << 16) | (key.charCodeAt(m++) << 8) | key.charCodeAt(m++);
166
+ temp = ((left >>> 4) ^ right) & 0x0f0f0f0f;
167
+ right ^= temp;
168
+ left ^= temp << 4;
169
+ temp = ((right >>> -16) ^ left) & 0x0000ffff;
170
+ left ^= temp;
171
+ right ^= temp << -16;
172
+ temp = ((left >>> 2) ^ right) & 0x33333333;
173
+ right ^= temp;
174
+ left ^= temp << 2;
175
+ temp = ((right >>> -16) ^ left) & 0x0000ffff;
176
+ left ^= temp;
177
+ right ^= temp << -16;
178
+ temp = ((left >>> 1) ^ right) & 0x55555555;
179
+ right ^= temp;
180
+ left ^= temp << 1;
181
+ temp = ((right >>> 8) ^ left) & 0x00ff00ff;
182
+ left ^= temp;
183
+ right ^= temp << 8;
184
+ temp = ((left >>> 1) ^ right) & 0x55555555;
185
+ right ^= temp;
186
+ left ^= temp << 1;
187
+ temp = (left << 8) | ((right >>> 20) & 0x000000f0);
188
+ left = (right << 24) | ((right << 8) & 0xff0000) | ((right >>> 8) & 0xff00) | ((right >>> 24) & 0xf0);
189
+ right = temp;
190
+ for (var i = 0; i < shifts.length; i++) {
191
+ if (shifts[i]) {
192
+ left = (left << 2) | (left >>> 26);
193
+ right = (right << 2) | (right >>> 26);
194
+ }
195
+ else {
196
+ left = (left << 1) | (left >>> 27);
197
+ right = (right << 1) | (right >>> 27);
198
+ }
199
+ left &= -15;
200
+ right &= -15;
201
+ lefttemp =
202
+ pc2bytes0[left >>> 28] |
203
+ pc2bytes1[(left >>> 24) & 0xf] |
204
+ pc2bytes2[(left >>> 20) & 0xf] |
205
+ pc2bytes3[(left >>> 16) & 0xf] |
206
+ pc2bytes4[(left >>> 12) & 0xf] |
207
+ pc2bytes5[(left >>> 8) & 0xf] |
208
+ pc2bytes6[(left >>> 4) & 0xf];
209
+ righttemp =
210
+ pc2bytes7[right >>> 28] |
211
+ pc2bytes8[(right >>> 24) & 0xf] |
212
+ pc2bytes9[(right >>> 20) & 0xf] |
213
+ pc2bytes10[(right >>> 16) & 0xf] |
214
+ pc2bytes11[(right >>> 12) & 0xf] |
215
+ pc2bytes12[(right >>> 8) & 0xf] |
216
+ pc2bytes13[(right >>> 4) & 0xf];
217
+ temp = ((righttemp >>> 16) ^ lefttemp) & 0x0000ffff;
218
+ keys[n++] = lefttemp ^ temp;
219
+ keys[n++] = righttemp ^ (temp << 16);
220
+ }
221
+ }
222
+ return keys;
223
+ };
224
+ /*
225
+ ------------------------------------------------------------------------------------
226
+ 以上方法对象的私有方法
227
+ 为了解决中文乱码
228
+ 使用base64先加密,再用des加密
229
+ 同理,解密时先用deds解密,再使用base64解密
230
+ ------------------------------------------------------------------------------------
231
+ */
232
+ /**
233
+ * 加密
234
+ * @param {String} key 密钥
235
+ * @param {String} plaintext 明文
236
+ * @return {String} ciphertext 密文
237
+ */
238
+ Des.prototype.encrypt = function (key, plaintext) {
239
+ var encodedString = encode(plaintext);
240
+ var ciphertext = this._DesCreate(key, encodedString, "encrypt");
241
+ return ciphertext;
242
+ };
243
+ /**
244
+ * 解密
245
+ * @param {String} key 密钥
246
+ * @param {String} ciphertext 密文
247
+ * @return {String} plaintext 明文
248
+ */
249
+ Des.prototype.decrypt = function (key, ciphertext) {
250
+ var decryptText = this._DesCreate(key, ciphertext, "decrypt"); // Des解密
251
+ var plaintext = decode(decryptText); // base64解密
252
+ return plaintext;
253
+ };
254
+
255
+ export { Des as default };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * des 加密
3
+ * @param {String} str 字符串
4
+ * @param {String} key 秘钥
5
+ * @returns {String} 返回加密后的字符串
6
+ */
7
+ export function encrypt(str: string, key: string): string;
8
+ /**
9
+ * des 解密
10
+ * @param {String} str 字符串
11
+ * @param {String} key 秘钥
12
+ * @returns {String} 返回解密后的字符串
13
+ */
14
+ export function decrypt(str: string, key: string): string;
@@ -0,0 +1,25 @@
1
+ import Des from './des.mjs';
2
+
3
+ /* 对称加密 DES */
4
+ /**
5
+ * des 加密
6
+ * @param {String} str 字符串
7
+ * @param {String} key 秘钥
8
+ * @returns {String} 返回加密后的字符串
9
+ */
10
+ function encrypt(str, key) {
11
+ let des = new Des(key, str);
12
+ return des.encrypt(key, str);
13
+ }
14
+ /**
15
+ * des 解密
16
+ * @param {String} str 字符串
17
+ * @param {String} key 秘钥
18
+ * @returns {String} 返回解密后的字符串
19
+ */
20
+ function decrypt(str, key) {
21
+ let des = new Des(key, str);
22
+ return des.decrypt(key, str);
23
+ }
24
+
25
+ export { decrypt, encrypt };
@@ -0,0 +1,8 @@
1
+ export * as base64 from "./base64/index.js";
2
+ export * as base32 from "./base32/index.js";
3
+ export * from "./md5/index.js";
4
+ export * from "./sha/index.js";
5
+ export * from "./sm/index.js";
6
+ export * as aes from "./aes/index.js";
7
+ export * as des from "./des/index.js";
8
+ export * as tea from "./tea/index.js";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * md5 加密
3
+ * @param {String} str 字符串
4
+ * @returns {string} 返回加密后的字符串
5
+ */
6
+ export function md5(str: string): string;
7
+ /**
8
+ * md5_hmac 加密
9
+ * @param {String} str 字符串
10
+ * @param {String} key 秘钥
11
+ * @returns {string} 返回加密后的字符串
12
+ */
13
+ export function md5_hmac(str: string, key: string): string;
@@ -0,0 +1,21 @@
1
+ import { md5 as md5$1, md5_hmac as md5_hmac$1 } from './md5.mjs';
2
+
3
+ /**
4
+ * md5 加密
5
+ * @param {String} str 字符串
6
+ * @returns {string} 返回加密后的字符串
7
+ */
8
+ function md5(str) {
9
+ return md5$1(str);
10
+ }
11
+ /**
12
+ * md5_hmac 加密
13
+ * @param {String} str 字符串
14
+ * @param {String} key 秘钥
15
+ * @returns {string} 返回加密后的字符串
16
+ */
17
+ function md5_hmac(str, key) {
18
+ return md5_hmac$1(key, str);
19
+ }
20
+
21
+ export { md5, md5_hmac };
@@ -0,0 +1,144 @@
1
+ export const md5: Md5;
2
+ export const md5_hmac: HmacMd5;
3
+ /**
4
+ * Md5 class
5
+ * @class Md5
6
+ * @description This is internal class.
7
+ * @see {@link md5.create}
8
+ */
9
+ declare function Md5(sharedMemory: any): void;
10
+ declare class Md5 {
11
+ /**
12
+ * Md5 class
13
+ * @class Md5
14
+ * @description This is internal class.
15
+ * @see {@link md5.create}
16
+ */
17
+ constructor(sharedMemory: any);
18
+ blocks: any[] | Uint32Array<ArrayBuffer>;
19
+ buffer8: any;
20
+ h0: number;
21
+ h1: number;
22
+ h2: number;
23
+ h3: number;
24
+ start: number;
25
+ bytes: number;
26
+ hBytes: number;
27
+ finalized: boolean;
28
+ hashed: boolean;
29
+ first: boolean;
30
+ /**
31
+ * @method update
32
+ * @memberof Md5
33
+ * @instance
34
+ * @description Update hash
35
+ * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash
36
+ * @returns {Md5} Md5 object.
37
+ * @see {@link md5.update}
38
+ */
39
+ update(message: string | any[] | Uint8Array | ArrayBuffer): Md5;
40
+ lastByteIndex: number | undefined;
41
+ finalize(): void;
42
+ hash(): void;
43
+ /**
44
+ * @method hex
45
+ * @memberof Md5
46
+ * @instance
47
+ * @description Output hash as hex string
48
+ * @returns {String} Hex string
49
+ * @see {@link md5.hex}
50
+ * @example
51
+ * hash.hex();
52
+ */
53
+ hex(): string;
54
+ /**
55
+ * @method toString
56
+ * @memberof Md5
57
+ * @instance
58
+ * @description Output hash as hex string
59
+ * @returns {String} Hex string
60
+ * @see {@link md5.hex}
61
+ * @example
62
+ * hash.toString();
63
+ */
64
+ toString: any;
65
+ /**
66
+ * @method digest
67
+ * @memberof Md5
68
+ * @instance
69
+ * @description Output hash as bytes array
70
+ * @returns {Array} Bytes array
71
+ * @see {@link md5.digest}
72
+ * @example
73
+ * hash.digest();
74
+ */
75
+ digest(): any[];
76
+ /**
77
+ * @method array
78
+ * @memberof Md5
79
+ * @instance
80
+ * @description Output hash as bytes array
81
+ * @returns {Array} Bytes array
82
+ * @see {@link md5.array}
83
+ * @example
84
+ * hash.array();
85
+ */
86
+ array: any;
87
+ /**
88
+ * @method arrayBuffer
89
+ * @memberof Md5
90
+ * @instance
91
+ * @description Output hash as ArrayBuffer
92
+ * @returns {ArrayBuffer} ArrayBuffer
93
+ * @see {@link md5.arrayBuffer}
94
+ * @example
95
+ * hash.arrayBuffer();
96
+ */
97
+ arrayBuffer(): ArrayBuffer;
98
+ /**
99
+ * @method buffer
100
+ * @deprecated This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.
101
+ * @memberof Md5
102
+ * @instance
103
+ * @description Output hash as ArrayBuffer
104
+ * @returns {ArrayBuffer} ArrayBuffer
105
+ * @see {@link md5.buffer}
106
+ * @example
107
+ * hash.buffer();
108
+ */
109
+ buffer: any;
110
+ /**
111
+ * @method base64
112
+ * @memberof Md5
113
+ * @instance
114
+ * @description Output hash as base64 string
115
+ * @returns {String} base64 string
116
+ * @see {@link md5.base64}
117
+ * @example
118
+ * hash.base64();
119
+ */
120
+ base64(): string;
121
+ }
122
+ /**
123
+ * HmacMd5 class
124
+ * @class HmacMd5
125
+ * @extends Md5
126
+ * @description This is internal class.
127
+ * @see {@link md5.hmac.create}
128
+ */
129
+ declare function HmacMd5(key: any, sharedMemory: any): void;
130
+ declare class HmacMd5 {
131
+ /**
132
+ * HmacMd5 class
133
+ * @class HmacMd5
134
+ * @extends Md5
135
+ * @description This is internal class.
136
+ * @see {@link md5.hmac.create}
137
+ */
138
+ constructor(key: any, sharedMemory: any);
139
+ oKeyPad: number[];
140
+ inner: boolean;
141
+ sharedMemory: any;
142
+ finalize(): void;
143
+ }
144
+ export {};