hrp-ui-base 1.4.7 → 1.4.8

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 (373) hide show
  1. package/README.md +51 -51
  2. package/dist/components.cjs +1 -1
  3. package/dist/components.es.js +25 -25
  4. package/dist/style.css +1 -1
  5. package/package.json +101 -101
  6. package/packages/approval-process/.eslintrc +6 -6
  7. package/packages/approval-process/README.md +22 -22
  8. package/packages/approval-process/index.ts +65 -65
  9. package/packages/approval-process/package.json +17 -17
  10. package/packages/approval-process/packages/components/choose-member/BO/departBo.ts +8 -8
  11. package/packages/approval-process/packages/components/choose-member/BO/memberBo.ts +14 -14
  12. package/packages/approval-process/packages/components/choose-member/BO/roleBo.ts +16 -16
  13. package/packages/approval-process/packages/components/choose-member/index.vue +496 -496
  14. package/packages/approval-process/packages/components/choose-member/styles/common.scss +133 -133
  15. package/packages/approval-process/packages/components/comment/assets/download.svg +4 -4
  16. package/packages/approval-process/packages/components/comment/assets/mp3.svg +11 -11
  17. package/packages/approval-process/packages/components/comment/assets/mp4.svg +11 -11
  18. package/packages/approval-process/packages/components/comment/assets/other.svg +11 -11
  19. package/packages/approval-process/packages/components/comment/assets/pdf.svg +11 -11
  20. package/packages/approval-process/packages/components/comment/assets/ppt.svg +11 -11
  21. package/packages/approval-process/packages/components/comment/assets/preview.svg +4 -4
  22. package/packages/approval-process/packages/components/comment/assets/word.svg +11 -11
  23. package/packages/approval-process/packages/components/comment/assets/xls.svg +11 -11
  24. package/packages/approval-process/packages/components/comment/index.vue +843 -843
  25. package/packages/approval-process/packages/components/comment/modules/previewMp.vue +53 -53
  26. package/packages/approval-process/packages/components/comment/styles/comment-style.scss +303 -303
  27. package/packages/approval-process/packages/components/image-cropper/index.vue +202 -202
  28. package/packages/approval-process/packages/components/sign/index.vue +766 -766
  29. package/packages/approval-process/packages/components/sign/modules/full-screen-sign.vue +19 -19
  30. package/packages/approval-process/packages/components/urge-dialog/index.vue +120 -120
  31. package/packages/approval-process/packages/components/vue-esign/index.vue +289 -289
  32. package/packages/approval-process/packages/flow/approve-component/approve-success.vue +81 -81
  33. package/packages/approval-process/packages/flow/approve-component/route-params-error.vue +48 -48
  34. package/packages/approval-process/packages/flow/approve-component/submit-success.vue +58 -58
  35. package/packages/approval-process/packages/flow/examine-approve-itr.vue +978 -978
  36. package/packages/approval-process/packages/flow/examine-approve.vue +1065 -1065
  37. package/packages/approval-process/packages/flow/form-component/associated-approval-form/README.md +38 -38
  38. package/packages/approval-process/packages/flow/form-component/associated-approval-form/index.vue +158 -158
  39. package/packages/approval-process/packages/flow/form-component/associated-approval-form/modules/associated-approval-form-mobile.vue +297 -297
  40. package/packages/approval-process/packages/flow/form-component/associated-approval-form/modules/associated-approval-form-pc.vue +314 -314
  41. package/packages/approval-process/packages/flow/form-component/associated-approval-form/style/curd-area-mobile.scss +109 -109
  42. package/packages/approval-process/packages/flow/form-component/associated-approval-form/style/curd-area.scss +95 -95
  43. package/packages/approval-process/packages/flow/form-component/associated-approval-form/style/out-put.scss +47 -47
  44. package/packages/approval-process/packages/flow/form-component/show-sign.vue +27 -27
  45. package/packages/approval-process/packages/flow/styles/common.scss +133 -133
  46. package/packages/approval-process/packages/flow/styles/examine-approve-pc.scss +465 -465
  47. package/packages/approval-process/packages/flow/styles/examine-approve-phone.scss +292 -292
  48. package/packages/approval-process/packages/flow/styles/submit-approve-pc.scss +379 -379
  49. package/packages/approval-process/packages/flow/styles/submit-approve-phone.scss +336 -336
  50. package/packages/approval-process/packages/flow/submit-approve-itr.vue +622 -622
  51. package/packages/approval-process/packages/flow/submit-approve.vue +627 -627
  52. package/packages/approval-process/packages/flow/systemCom/BO/departBo.ts +8 -8
  53. package/packages/approval-process/packages/flow/systemCom/BO/memberBo.ts +14 -14
  54. package/packages/approval-process/packages/flow/systemCom/BO/roleBo.ts +16 -16
  55. package/packages/approval-process/packages/flow/systemCom/choose-depart.vue +398 -398
  56. package/packages/approval-process/packages/flow/systemCom/choose-member-phone.vue +514 -514
  57. package/packages/approval-process/packages/flow/systemCom/choose-member.vue +564 -564
  58. package/packages/approval-process/packages/flow/systemCom/choose-role.vue +300 -300
  59. package/packages/approval-process/packages/styles/common.scss +133 -133
  60. package/packages/approval-process/packages/styles/flex-common.scss +117 -117
  61. package/packages/approval-process/packages/styles/flexCommon.scss +72 -72
  62. package/packages/approval-process/packages/styles/main.css +216 -216
  63. package/packages/approval-process/packages/styles/router-page.scss +370 -370
  64. package/packages/approval-process/packages/styles/style-set.ts +207 -207
  65. package/packages/approval-process/packages/types.d.ts +3 -3
  66. package/packages/approval-process/packages/utils/base.ts +15 -15
  67. package/packages/approval-process/packages/utils/crypto.ts +66 -66
  68. package/packages/approval-process/packages/utils/ddUtils.ts +56 -56
  69. package/packages/approval-process/packages/utils/debounce.ts +35 -35
  70. package/packages/approval-process/packages/utils/des.js +1107 -1107
  71. package/packages/approval-process/packages/utils/download.ts +38 -38
  72. package/packages/approval-process/packages/utils/editor.ts +36 -36
  73. package/packages/approval-process/packages/utils/getEnv.ts +36 -36
  74. package/packages/approval-process/packages/utils/os.ts +20 -20
  75. package/packages/approval-process/packages/utils/path-util.ts +31 -31
  76. package/packages/approval-process/packages/utils/routerUtil.ts +304 -304
  77. package/packages/approval-process/packages/utils/string-utils.ts +13 -13
  78. package/packages/approval-process/packages/utils/throttle.ts +44 -44
  79. package/packages/approval-process/packages/utils/validate.ts +92 -92
  80. package/packages/approval-process/packages/utils/ws.ts +218 -218
  81. package/packages/approval-process/tsconfig.json +72 -72
  82. package/packages/approval-process/vite.config.ts +56 -56
  83. package/src/api/bms/dict/bo/DictConfigBO.ts +23 -23
  84. package/src/api/bms/dict/bo/DictConfigBaseVO.ts +24 -24
  85. package/src/api/bms/dict/bo/DictConfigSearchBO.ts +12 -12
  86. package/src/api/bms/dict/bo/DictImportBO.ts +6 -6
  87. package/src/api/bms/dict/bo/DictVO.ts +21 -21
  88. package/src/api/bms/dict/bo/PageBaseVO.ts +8 -8
  89. package/src/api/bms/dict/bo/TotalDictBO.ts +11 -11
  90. package/src/api/bms/dict/bo/TotalDictPageVO.ts +17 -17
  91. package/src/api/bms/dict/dict-controller.ts +78 -78
  92. package/src/api/bms/file/FileExportController.ts +19 -19
  93. package/src/api/bms/file/FileUploadController.ts +131 -131
  94. package/src/api/bms/file/bo/FileBaseInfo.ts +13 -13
  95. package/src/api/bms/file/bo/FileExportVO.ts +17 -17
  96. package/src/api/bms/file/bo/FilePreviewVO.ts +8 -8
  97. package/src/api/bms/file/bo/FileUploadInfo.ts +22 -22
  98. package/src/api/bms/file/bo/FileUrlVO.ts +10 -10
  99. package/src/api/bms/file/bo/StsTokenVO.ts +20 -20
  100. package/src/api/bms/flow/FlowCommentController.ts +50 -50
  101. package/src/api/bms/flow/FlowInstanceController.ts +179 -179
  102. package/src/api/bms/flow/FlowProcessController.ts +55 -55
  103. package/src/api/bms/flow/FlowSheetController.ts +27 -27
  104. package/src/api/bms/flow/FlowSignController.ts +76 -76
  105. package/src/api/bms/flow/bo/AssociatedApprovalBO.ts +15 -15
  106. package/src/api/bms/flow/bo/AssociatedApprovalVO.ts +35 -35
  107. package/src/api/bms/flow/bo/AuditBaseInfo.ts +39 -39
  108. package/src/api/bms/flow/bo/ButtonVo.ts +7 -7
  109. package/src/api/bms/flow/bo/DingCallbackBo.ts +13 -13
  110. package/src/api/bms/flow/bo/FlowCommentBO.ts +12 -12
  111. package/src/api/bms/flow/bo/FlowCommentVO.ts +23 -23
  112. package/src/api/bms/flow/bo/FlowInstanceBO.ts +14 -14
  113. package/src/api/bms/flow/bo/FlowNodeVO.ts +24 -24
  114. package/src/api/bms/flow/bo/FlowNoticeBO.ts +17 -17
  115. package/src/api/bms/flow/bo/FlowProcessBO.ts +13 -13
  116. package/src/api/bms/flow/bo/FlowProcessVO.ts +9 -9
  117. package/src/api/bms/flow/bo/FlowReplyVO.ts +23 -23
  118. package/src/api/bms/flow/bo/FlowSheetVO.ts +16 -16
  119. package/src/api/bms/flow/bo/InstanceBackBO.ts +9 -9
  120. package/src/api/bms/flow/bo/InstanceNodeBO.ts +13 -13
  121. package/src/api/bms/flow/bo/InstanceNodeVO.ts +21 -21
  122. package/src/api/bms/flow/bo/NodeShowVo.ts +19 -19
  123. package/src/api/bms/flow/bo/ReviewBO.ts +11 -11
  124. package/src/api/bms/flow/bo/SheetSearchBO.ts +11 -11
  125. package/src/api/bms/flow/bo/SystemVO.ts +7 -7
  126. package/src/api/bms/flow/bo/TransmitBO.ts +9 -9
  127. package/src/api/bms/flow/bo/UrgeFlowBO.ts +7 -7
  128. package/src/api/bms/flow/bo/UserBaseInfoVo.ts +13 -13
  129. package/src/api/bms/flow/bo/UserInfoVo.ts +44 -44
  130. package/src/api/bms/flow/bo/UserResultVo.ts +17 -17
  131. package/src/api/bms/flow/bo/ValueMapBo.ts +7 -7
  132. package/src/api/bms/home/HomeController.ts +106 -106
  133. package/src/api/bms/home/bo/CollectedMenuBo.ts +9 -9
  134. package/src/api/bms/home/bo/DeptBaseVo.ts +9 -9
  135. package/src/api/bms/home/bo/DomainVO.ts +13 -13
  136. package/src/api/bms/home/bo/FunPermission.ts +17 -17
  137. package/src/api/bms/home/bo/GroupVO.ts +10 -10
  138. package/src/api/bms/home/bo/HomeMenu.ts +22 -22
  139. package/src/api/bms/home/bo/HomeMenuVo.ts +11 -11
  140. package/src/api/bms/home/bo/PersonalizationBo.ts +17 -17
  141. package/src/api/bms/home/bo/PersonalizationVo.ts +19 -19
  142. package/src/api/bms/home/bo/PhoneMenu.ts +14 -14
  143. package/src/api/bms/home/bo/SearchMenuVo.ts +10 -10
  144. package/src/api/bms/home/bo/UserBaseInfoVo.ts +11 -11
  145. package/src/api/bms/permission-manage/PermissionController.ts +133 -133
  146. package/src/api/bms/permission-manage/bo/DataScopeConfig.ts +17 -17
  147. package/src/api/bms/permission-manage/bo/DataScopePoint.ts +15 -15
  148. package/src/api/bms/permission-manage/bo/DeptBaseVo.ts +9 -9
  149. package/src/api/bms/permission-manage/bo/FunPermissionConfig.ts +18 -18
  150. package/src/api/bms/permission-manage/bo/FunPointVo.ts +9 -9
  151. package/src/api/bms/permission-manage/bo/PermissionGroupBo.ts +11 -11
  152. package/src/api/bms/permission-manage/bo/PermissionGroupMemberVo.ts +18 -18
  153. package/src/api/bms/permission-manage/bo/PermissionGroupPageVo.ts +17 -17
  154. package/src/api/bms/permission-manage/bo/PermissionGroupVo.ts +17 -17
  155. package/src/api/bms/permission-manage/bo/RoleBaseVo.ts +9 -9
  156. package/src/api/bms/permission-manage/bo/TheFirstStepVo.ts +13 -13
  157. package/src/api/bms/permission-manage/bo/TheSecondStepVo.ts +14 -14
  158. package/src/api/bms/permission-manage/bo/UserBaseInfoVo.ts +11 -11
  159. package/src/api/bms/tabulation/TabulationController.ts +78 -78
  160. package/src/api/bms/tabulation/bo/FieldConditionBO.ts +10 -10
  161. package/src/api/bms/tabulation/bo/FieldConditionVO.ts +10 -10
  162. package/src/api/bms/tabulation/bo/OperateButtonVO.ts +9 -9
  163. package/src/api/bms/tabulation/bo/PersonViewVO.ts +33 -33
  164. package/src/api/bms/tabulation/bo/SearchVO.ts +33 -33
  165. package/src/api/bms/tabulation/bo/TabulationBO.ts +14 -14
  166. package/src/api/bms/tabulation/bo/ViewSortBO.ts +7 -7
  167. package/src/api/bms/tabulation/bo/ViewVO.ts +12 -12
  168. package/src/api/common/FileBaseInfo.ts +10 -10
  169. package/src/api/common/ResponseBean.ts +9 -9
  170. package/src/api/common/ResponseBeanList.ts +15 -15
  171. package/src/api/common/ResponseBeanTablePage.ts +21 -21
  172. package/src/api/common/TableQueryCriteriaVO.ts +10 -10
  173. package/src/api/common/bo/PageResult.ts +22 -22
  174. package/src/api/hrms/dept/bo/DeptBaseVo.ts +6 -6
  175. package/src/api/hrms/dept/bo/DeptTreeVo.ts +23 -23
  176. package/src/api/hrms/dept/bo/DeptUserVo.ts +9 -9
  177. package/src/api/hrms/dept/bo/DeptUsersVo.ts +10 -10
  178. package/src/api/hrms/dept/bo/DeptVo.ts +19 -19
  179. package/src/api/hrms/dept/bo/UserBaseInfoVo.ts +7 -7
  180. package/src/api/hrms/dept/deptController.ts +100 -100
  181. package/src/api/hrms/role/bo/RoleBaseVo.ts +6 -6
  182. package/src/api/hrms/role/bo/RoleGroupVo.ts +11 -11
  183. package/src/api/hrms/role/bo/RoleVo.ts +22 -22
  184. package/src/api/hrms/role/roleController.ts +19 -19
  185. package/src/api/hrms/user/bo/UserBaseInfoVo.ts +11 -11
  186. package/src/api/hrms/user/bo/UserCardVO.ts +13 -13
  187. package/src/api/hrms/user/bo/UserDeptBO.ts +13 -13
  188. package/src/api/hrms/user/bo/UserRoleBO.ts +11 -11
  189. package/src/api/hrms/user/bo/UserVO.ts +23 -23
  190. package/src/api/hrms/user/userController.ts +86 -86
  191. package/src/api/index.ts +9 -9
  192. package/src/api/notice/NoticeController.ts +73 -73
  193. package/src/api/notice/bo/NoticePageBO.ts +24 -24
  194. package/src/api/notice/bo/NoticeVO.ts +31 -31
  195. package/src/api/work-order-pc/flow/Bo/ValueMapBo.ts +7 -7
  196. package/src/api/work-order-pc/flow/ItrFlowProcessController.ts +41 -41
  197. package/src/api/work-order-pc/flow/Vo/FlowNodeVO.ts +24 -24
  198. package/src/api/work-order-pc/flow/Vo/UserInfoVo.ts +44 -44
  199. package/src/assets/layout/avatar-default.svg +6 -6
  200. package/src/assets/layout/collect-active.svg +7 -7
  201. package/src/assets/layout/collect-default.svg +7 -7
  202. package/src/assets/layout/download-active.svg +8 -8
  203. package/src/assets/layout/download-default.svg +8 -8
  204. package/src/assets/layout/export-dark.svg +7 -7
  205. package/src/assets/layout/export-default.svg +7 -7
  206. package/src/assets/layout/font-active.svg +6 -6
  207. package/src/assets/layout/font-default.svg +6 -6
  208. package/src/assets/layout/help-active.svg +10 -10
  209. package/src/assets/layout/help-default.svg +10 -10
  210. package/src/assets/layout/home-active.svg +6 -6
  211. package/src/assets/layout/home.svg +6 -6
  212. package/src/assets/layout/menu-expand.svg +6 -6
  213. package/src/assets/layout/menu-position-active.svg +6 -6
  214. package/src/assets/layout/menu-position-default.svg +6 -6
  215. package/src/assets/layout/message-active.svg +9 -9
  216. package/src/assets/layout/message-default.svg +9 -9
  217. package/src/assets/layout/moon.svg +8 -8
  218. package/src/assets/layout/router-all-dark.svg +11 -11
  219. package/src/assets/layout/router-all-default.svg +17 -17
  220. package/src/assets/layout/search-active.svg +20 -20
  221. package/src/assets/layout/search-default.svg +20 -20
  222. package/src/assets/layout/star-default.svg +3 -3
  223. package/src/assets/layout/sun-active.svg +6 -6
  224. package/src/assets/layout/sun-default.svg +6 -6
  225. package/src/assets/layout/switch-moon.svg +3 -3
  226. package/src/assets/layout/switch-sun.svg +41 -41
  227. package/src/assets/layout/todo-active.svg +12 -12
  228. package/src/assets/layout/todo-default.svg +12 -12
  229. package/src/assets/layout/user-dark.svg +13 -13
  230. package/src/assets/layout/user-default.svg +13 -13
  231. package/src/assets/no-permiss-dark.svg +16 -16
  232. package/src/assets/no-permiss-day.svg +16 -16
  233. package/src/assets/process/drawer/manyLevel1close.svg +9 -9
  234. package/src/assets/process/drawer/manyLevel1open.svg +6 -6
  235. package/src/assets/process/drawer/manyLevel2close.svg +6 -6
  236. package/src/assets/process/drawer/manyLevel2open.svg +6 -6
  237. package/src/assets/table-delete/table-delete.svg +2 -2
  238. package/src/components/annex-img-upload/assets/download.svg +4 -4
  239. package/src/components/annex-img-upload/assets/mp3.svg +11 -11
  240. package/src/components/annex-img-upload/assets/mp4.svg +11 -11
  241. package/src/components/annex-img-upload/assets/other.svg +11 -11
  242. package/src/components/annex-img-upload/assets/pdf.svg +11 -11
  243. package/src/components/annex-img-upload/assets/ppt.svg +11 -11
  244. package/src/components/annex-img-upload/assets/preview.svg +4 -4
  245. package/src/components/annex-img-upload/assets/word.svg +11 -11
  246. package/src/components/annex-img-upload/assets/xls.svg +11 -11
  247. package/src/components/annex-img-upload/index.vue +609 -609
  248. package/src/components/annex-img-upload/modules/previewMp.vue +53 -53
  249. package/src/components/annex-upload/assets/download.svg +4 -4
  250. package/src/components/annex-upload/assets/mp3.svg +11 -11
  251. package/src/components/annex-upload/assets/mp4.svg +11 -11
  252. package/src/components/annex-upload/assets/other.svg +11 -11
  253. package/src/components/annex-upload/assets/pdf.svg +11 -11
  254. package/src/components/annex-upload/assets/ppt.svg +11 -11
  255. package/src/components/annex-upload/assets/preview.svg +4 -4
  256. package/src/components/annex-upload/assets/word.svg +11 -11
  257. package/src/components/annex-upload/assets/xls.svg +11 -11
  258. package/src/components/annex-upload/index.vue +800 -800
  259. package/src/components/annex-upload/modules/previewMp.vue +53 -53
  260. package/src/components/annex-upload-weijian/assets/download.svg +4 -4
  261. package/src/components/annex-upload-weijian/assets/mp3.svg +11 -11
  262. package/src/components/annex-upload-weijian/assets/mp4.svg +11 -11
  263. package/src/components/annex-upload-weijian/assets/other.svg +11 -11
  264. package/src/components/annex-upload-weijian/assets/pdf.svg +11 -11
  265. package/src/components/annex-upload-weijian/assets/ppt.svg +11 -11
  266. package/src/components/annex-upload-weijian/assets/preview.svg +4 -4
  267. package/src/components/annex-upload-weijian/assets/word.svg +11 -11
  268. package/src/components/annex-upload-weijian/assets/xls.svg +11 -11
  269. package/src/components/annex-upload-weijian/index.vue +772 -772
  270. package/src/components/annex-upload-weijian/modules/previewMp.vue +53 -53
  271. package/src/components/base-layout/index.vue +199 -199
  272. package/src/components/button.vue +14 -14
  273. package/src/components/layout/ApprovalCenterDrawer.vue +231 -231
  274. package/src/components/layout/ExportCenterDrawer.vue +164 -164
  275. package/src/components/layout/LayoutContainer.vue +542 -542
  276. package/src/components/layout/SysHeader.vue +90 -90
  277. package/src/components/layout/SysHeaderLeft.vue +114 -114
  278. package/src/components/layout/SysHeaderRight.vue +112 -112
  279. package/src/components/layout/SysHeaderTabs.vue +289 -289
  280. package/src/components/layout/components/avatar-component.vue +77 -77
  281. package/src/components/layout/components/dark-component.vue +82 -82
  282. package/src/components/layout/components/download-component.vue +49 -49
  283. package/src/components/layout/components/font-size-component.vue +66 -66
  284. package/src/components/layout/components/menu-position-component.vue +97 -97
  285. package/src/components/layout/components/message-component.vue +64 -64
  286. package/src/components/layout/components/todo-component.vue +55 -55
  287. package/src/components/layout/index.ts +34 -34
  288. package/src/components/layout/message/message-dictionary.ts +27 -27
  289. package/src/components/layout/message/message-icon//345/205/250/351/203/250/351/200/232/347/237/245-/350/223/235.svg +8 -8
  290. package/src/components/layout/message/message-icon//345/205/250/351/203/250/351/200/232/347/237/245-/351/273/221.svg +8 -8
  291. package/src/components/layout/message/message-icon//345/205/250/351/203/250/351/200/232/347/237/245.svg +8 -8
  292. package/src/components/layout/message/message-icon//345/205/254/345/221/212/351/200/232/347/237/245-/350/223/235.svg +12 -12
  293. package/src/components/layout/message/message-icon//345/205/254/345/221/212/351/200/232/347/237/245-/351/273/221.svg +12 -12
  294. package/src/components/layout/message/message-icon//345/205/254/345/221/212/351/200/232/347/237/245.svg +12 -12
  295. package/src/components/layout/message/message-icon//345/256/241/346/211/271/351/200/232/347/237/245-/350/223/235.svg +8 -8
  296. package/src/components/layout/message/message-icon//345/256/241/346/211/271/351/200/232/347/237/245-/351/273/221.svg +8 -8
  297. package/src/components/layout/message/message-icon//345/256/241/346/211/271/351/200/232/347/237/245.svg +8 -8
  298. package/src/components/layout/message/message-icon//345/257/274/345/207/272/351/200/232/347/237/245-/350/223/235.svg +13 -13
  299. package/src/components/layout/message/message-icon//345/257/274/345/207/272/351/200/232/347/237/245-/351/273/221.svg +13 -13
  300. package/src/components/layout/message/message-icon//345/257/274/345/207/272/351/200/232/347/237/245.svg +13 -13
  301. package/src/components/layout/message/message-icon//346/234/252/350/257/273/351/200/232/347/237/245-/350/223/235.svg +11 -11
  302. package/src/components/layout/message/message-icon//346/234/252/350/257/273/351/200/232/347/237/245-/351/273/221.svg +11 -11
  303. package/src/components/layout/message/message-icon//346/234/252/350/257/273/351/200/232/347/237/245.svg +11 -11
  304. package/src/components/layout/message/message-icon//347/251/272/347/212/266/346/200/201.svg +17 -17
  305. package/src/components/layout/message/message-icon//347/263/273/347/273/237/351/200/232/347/237/245-/350/223/235.svg +13 -13
  306. package/src/components/layout/message/message-icon//347/263/273/347/273/237/351/200/232/347/237/245-/351/273/221.svg +13 -13
  307. package/src/components/layout/message/message-icon//347/263/273/347/273/237/351/200/232/347/237/245.svg +13 -13
  308. package/src/components/layout/message/message-notification-drawer.vue +533 -533
  309. package/src/components/layout/personal-sign/ImageCropper.vue +187 -187
  310. package/src/components/layout/personal-sign/PersonalSignDialog.vue +658 -658
  311. package/src/components/layout/personalization-guide-dialog.vue +255 -255
  312. package/src/components/layout/plugin.ts +32 -32
  313. package/src/components/layout/sideMenu-global.scss +115 -115
  314. package/src/components/layout/sideMenu.scss +312 -312
  315. package/src/components/layout/sideMenu.vue +541 -541
  316. package/src/components/layout/sideMenuSonList.vue +185 -185
  317. package/src/components/layout/stores/index.ts +5 -5
  318. package/src/components/layout/stores/useLayoutConfigStore.ts +231 -231
  319. package/src/components/layout/stores/useLayoutMenuStore.ts +232 -232
  320. package/src/components/layout/stores/useLayoutNoticeStore.ts +77 -77
  321. package/src/components/layout/stores/useLayoutTabsStore.ts +367 -367
  322. package/src/components/layout/styles/icon.scss +72 -72
  323. package/src/components/layout/types.ts +98 -98
  324. package/src/components/layout/utils/redirect.ts +144 -144
  325. package/src/components/list-search-content/components/index.ts +11 -11
  326. package/src/components/list-search-content/components/search-date-range.vue +74 -74
  327. package/src/components/list-search-content/components/search-date-time-range.vue +48 -48
  328. package/src/components/list-search-content/components/search-date.vue +97 -97
  329. package/src/components/list-search-content/components/search-input-number.vue +59 -59
  330. package/src/components/list-search-content/components/search-input.vue +46 -46
  331. package/src/components/list-search-content/components/search-multiple_select.vue +69 -69
  332. package/src/components/list-search-content/components/search-select.vue +64 -64
  333. package/src/components/list-search-content/index.vue +803 -803
  334. package/src/components/list-search-content/modules/add-views-package-dialog.vue +147 -147
  335. package/src/components/list-search-content/modules/search-condition-area.vue +252 -252
  336. package/src/components/list-search-content/modules/views-package-manage-dialog.vue +265 -265
  337. package/src/components/switch.vue +16 -16
  338. package/src/components.ts +67 -67
  339. package/src/enum/system/StorageEnum.ts +4 -4
  340. package/src/global.d.ts +19 -19
  341. package/src/index.ts +4 -4
  342. package/src/init.ts +37 -37
  343. package/src/styles/common.scss +133 -133
  344. package/src/styles/flex-common.scss +117 -117
  345. package/src/styles/flexCommon.scss +72 -72
  346. package/src/styles/main.css +277 -277
  347. package/src/styles/router-page.scss +370 -370
  348. package/src/styles/style-set.ts +809 -809
  349. package/src/utils/HttpUtil.ts +427 -427
  350. package/src/utils/base.ts +47 -47
  351. package/src/utils/cell-style.ts +11 -11
  352. package/src/utils/crypto.ts +98 -98
  353. package/src/utils/dd-utils.ts +157 -157
  354. package/src/utils/debounce.ts +35 -35
  355. package/src/utils/debounceleading.ts +48 -48
  356. package/src/utils/download.ts +38 -38
  357. package/src/utils/exitLogin.ts +58 -58
  358. package/src/utils/filter-key.ts +4 -4
  359. package/src/utils/formatter-handler.ts +12 -12
  360. package/src/utils/get-dict.ts +26 -26
  361. package/src/utils/get-env.ts +36 -36
  362. package/src/utils/login-path.ts +35 -35
  363. package/src/utils/path-utils.ts +31 -31
  364. package/src/utils/permit-utils.ts +68 -68
  365. package/src/utils/router-utils.ts +321 -321
  366. package/src/utils/string-utils.ts +166 -166
  367. package/src/utils/style-set.ts +750 -750
  368. package/src/utils/throttle.ts +62 -62
  369. package/src/utils/transform-data.ts +31 -31
  370. package/src/utils/validate.ts +92 -92
  371. package/src/utils/ws.ts +218 -218
  372. package/src/utils/wujie-son.ts +50 -50
  373. package/src/utils.ts +24 -24
@@ -1,1107 +1,1107 @@
1
- /*
2
- * the 64 bit des core arithmetic
3
- */
4
- function bt4ToHex(binary) {
5
- let hex;
6
- switch (binary) {
7
- case "0000":
8
- hex = "0";
9
- break;
10
- case "0001":
11
- hex = "1";
12
- break;
13
- case "0010":
14
- hex = "2";
15
- break;
16
- case "0011":
17
- hex = "3";
18
- break;
19
- case "0100":
20
- hex = "4";
21
- break;
22
- case "0101":
23
- hex = "5";
24
- break;
25
- case "0110":
26
- hex = "6";
27
- break;
28
- case "0111":
29
- hex = "7";
30
- break;
31
- case "1000":
32
- hex = "8";
33
- break;
34
- case "1001":
35
- hex = "9";
36
- break;
37
- case "1010":
38
- hex = "A";
39
- break;
40
- case "1011":
41
- hex = "B";
42
- break;
43
- case "1100":
44
- hex = "C";
45
- break;
46
- case "1101":
47
- hex = "D";
48
- break;
49
- case "1110":
50
- hex = "E";
51
- break;
52
- case "1111":
53
- hex = "F";
54
- break;
55
- }
56
- return hex;
57
- }
58
- function bt64ToHex(byteData) {
59
- let hex = "";
60
- for (let i = 0; i < 16; i++) {
61
- let bt = "";
62
- for (let j = 0; j < 4; j++) {
63
- bt += byteData[i * 4 + j];
64
- }
65
- hex += bt4ToHex(bt);
66
- }
67
- return hex;
68
- }
69
- function hexToBt4(hex) {
70
- let binary;
71
- switch (hex) {
72
- case "0":
73
- binary = "0000";
74
- break;
75
- case "1":
76
- binary = "0001";
77
- break;
78
- case "2":
79
- binary = "0010";
80
- break;
81
- case "3":
82
- binary = "0011";
83
- break;
84
- case "4":
85
- binary = "0100";
86
- break;
87
- case "5":
88
- binary = "0101";
89
- break;
90
- case "6":
91
- binary = "0110";
92
- break;
93
- case "7":
94
- binary = "0111";
95
- break;
96
- case "8":
97
- binary = "1000";
98
- break;
99
- case "9":
100
- binary = "1001";
101
- break;
102
- case "A":
103
- binary = "1010";
104
- break;
105
- case "B":
106
- binary = "1011";
107
- break;
108
- case "C":
109
- binary = "1100";
110
- break;
111
- case "D":
112
- binary = "1101";
113
- break;
114
- case "E":
115
- binary = "1110";
116
- break;
117
- case "F":
118
- binary = "1111";
119
- break;
120
- }
121
- return binary;
122
- }
123
-
124
- function hexToBt64(hex) {
125
- let binary = "";
126
- for (let i = 0; i < 16; i++) {
127
- binary += hexToBt4(hex.substring(i, i + 1));
128
- }
129
- return binary;
130
- }
131
-
132
- function initPermute(originalData) {
133
- const ipByte = new Array(64);
134
- for (let i = 0, m = 1, n = 0; i < 4; i++, m += 2, n += 2) {
135
- for (let j = 7, k = 0; j >= 0; j--, k++) {
136
- ipByte[i * 8 + k] = originalData[j * 8 + m];
137
- ipByte[i * 8 + k + 32] = originalData[j * 8 + n];
138
- }
139
- }
140
- return ipByte;
141
- }
142
-
143
- function expandPermute(rightData) {
144
- const epByte = new Array(48);
145
- for (let i = 0; i < 8; i++) {
146
- if (i == 0) {
147
- epByte[i * 6 + 0] = rightData[31];
148
- } else {
149
- epByte[i * 6 + 0] = rightData[i * 4 - 1];
150
- }
151
- epByte[i * 6 + 1] = rightData[i * 4 + 0];
152
- epByte[i * 6 + 2] = rightData[i * 4 + 1];
153
- epByte[i * 6 + 3] = rightData[i * 4 + 2];
154
- epByte[i * 6 + 4] = rightData[i * 4 + 3];
155
- if (i == 7) {
156
- epByte[i * 6 + 5] = rightData[0];
157
- } else {
158
- epByte[i * 6 + 5] = rightData[i * 4 + 4];
159
- }
160
- }
161
- return epByte;
162
- }
163
-
164
- function xor(byteOne, byteTwo) {
165
- const xorByte = new Array(byteOne.length);
166
- for (let i = 0; i < byteOne.length; i++) {
167
- xorByte[i] = byteOne[i] ^ byteTwo[i];
168
- }
169
- return xorByte;
170
- }
171
-
172
- function getBoxBinary(i) {
173
- let binary = "";
174
- switch (i) {
175
- case 0:
176
- binary = "0000";
177
- break;
178
- case 1:
179
- binary = "0001";
180
- break;
181
- case 2:
182
- binary = "0010";
183
- break;
184
- case 3:
185
- binary = "0011";
186
- break;
187
- case 4:
188
- binary = "0100";
189
- break;
190
- case 5:
191
- binary = "0101";
192
- break;
193
- case 6:
194
- binary = "0110";
195
- break;
196
- case 7:
197
- binary = "0111";
198
- break;
199
- case 8:
200
- binary = "1000";
201
- break;
202
- case 9:
203
- binary = "1001";
204
- break;
205
- case 10:
206
- binary = "1010";
207
- break;
208
- case 11:
209
- binary = "1011";
210
- break;
211
- case 12:
212
- binary = "1100";
213
- break;
214
- case 13:
215
- binary = "1101";
216
- break;
217
- case 14:
218
- binary = "1110";
219
- break;
220
- case 15:
221
- binary = "1111";
222
- break;
223
- }
224
- return binary;
225
- }
226
-
227
- function sBoxPermute(expandByte) {
228
- const sBoxByte = new Array(32);
229
- let binary = "";
230
- const s1 = [
231
- [14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7],
232
- [0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8],
233
- [4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0],
234
- [15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13]
235
- ];
236
-
237
- /* Table - s2 */
238
- const s2 = [
239
- [15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10],
240
- [3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5],
241
- [0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15],
242
- [13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9]
243
- ];
244
-
245
- /* Table - s3 */
246
- const s3 = [
247
- [10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8],
248
- [13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1],
249
- [13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7],
250
- [1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12]
251
- ];
252
- /* Table - s4 */
253
- const s4 = [
254
- [7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15],
255
- [13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9],
256
- [10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4],
257
- [3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14]
258
- ];
259
-
260
- /* Table - s5 */
261
- const s5 = [
262
- [2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9],
263
- [14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6],
264
- [4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14],
265
- [11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3]
266
- ];
267
-
268
- /* Table - s6 */
269
- const s6 = [
270
- [12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11],
271
- [10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8],
272
- [9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6],
273
- [4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13]
274
- ];
275
-
276
- /* Table - s7 */
277
- const s7 = [
278
- [4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1],
279
- [13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6],
280
- [1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2],
281
- [6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12]
282
- ];
283
-
284
- /* Table - s8 */
285
- const s8 = [
286
- [13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7],
287
- [1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2],
288
- [7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8],
289
- [2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11]
290
- ];
291
-
292
- for (let m = 0; m < 8; m++) {
293
- let i = 0,
294
- j = 0;
295
- i = expandByte[m * 6 + 0] * 2 + expandByte[m * 6 + 5];
296
- j =
297
- expandByte[m * 6 + 1] * 2 * 2 * 2 +
298
- expandByte[m * 6 + 2] * 2 * 2 +
299
- expandByte[m * 6 + 3] * 2 +
300
- expandByte[m * 6 + 4];
301
- switch (m) {
302
- case 0:
303
- binary = getBoxBinary(s1[i][j]);
304
- break;
305
- case 1:
306
- binary = getBoxBinary(s2[i][j]);
307
- break;
308
- case 2:
309
- binary = getBoxBinary(s3[i][j]);
310
- break;
311
- case 3:
312
- binary = getBoxBinary(s4[i][j]);
313
- break;
314
- case 4:
315
- binary = getBoxBinary(s5[i][j]);
316
- break;
317
- case 5:
318
- binary = getBoxBinary(s6[i][j]);
319
- break;
320
- case 6:
321
- binary = getBoxBinary(s7[i][j]);
322
- break;
323
- case 7:
324
- binary = getBoxBinary(s8[i][j]);
325
- break;
326
- }
327
- sBoxByte[m * 4 + 0] = parseInt(binary.substring(0, 1));
328
- sBoxByte[m * 4 + 1] = parseInt(binary.substring(1, 2));
329
- sBoxByte[m * 4 + 2] = parseInt(binary.substring(2, 3));
330
- sBoxByte[m * 4 + 3] = parseInt(binary.substring(3, 4));
331
- }
332
- return sBoxByte;
333
- }
334
-
335
- function pPermute(sBoxByte) {
336
- const pBoxPermute = new Array(32);
337
- pBoxPermute[0] = sBoxByte[15];
338
- pBoxPermute[1] = sBoxByte[6];
339
- pBoxPermute[2] = sBoxByte[19];
340
- pBoxPermute[3] = sBoxByte[20];
341
- pBoxPermute[4] = sBoxByte[28];
342
- pBoxPermute[5] = sBoxByte[11];
343
- pBoxPermute[6] = sBoxByte[27];
344
- pBoxPermute[7] = sBoxByte[16];
345
- pBoxPermute[8] = sBoxByte[0];
346
- pBoxPermute[9] = sBoxByte[14];
347
- pBoxPermute[10] = sBoxByte[22];
348
- pBoxPermute[11] = sBoxByte[25];
349
- pBoxPermute[12] = sBoxByte[4];
350
- pBoxPermute[13] = sBoxByte[17];
351
- pBoxPermute[14] = sBoxByte[30];
352
- pBoxPermute[15] = sBoxByte[9];
353
- pBoxPermute[16] = sBoxByte[1];
354
- pBoxPermute[17] = sBoxByte[7];
355
- pBoxPermute[18] = sBoxByte[23];
356
- pBoxPermute[19] = sBoxByte[13];
357
- pBoxPermute[20] = sBoxByte[31];
358
- pBoxPermute[21] = sBoxByte[26];
359
- pBoxPermute[22] = sBoxByte[2];
360
- pBoxPermute[23] = sBoxByte[8];
361
- pBoxPermute[24] = sBoxByte[18];
362
- pBoxPermute[25] = sBoxByte[12];
363
- pBoxPermute[26] = sBoxByte[29];
364
- pBoxPermute[27] = sBoxByte[5];
365
- pBoxPermute[28] = sBoxByte[21];
366
- pBoxPermute[29] = sBoxByte[10];
367
- pBoxPermute[30] = sBoxByte[3];
368
- pBoxPermute[31] = sBoxByte[24];
369
- return pBoxPermute;
370
- }
371
-
372
- function finallyPermute(endByte) {
373
- const fpByte = new Array(64);
374
- fpByte[0] = endByte[39];
375
- fpByte[1] = endByte[7];
376
- fpByte[2] = endByte[47];
377
- fpByte[3] = endByte[15];
378
- fpByte[4] = endByte[55];
379
- fpByte[5] = endByte[23];
380
- fpByte[6] = endByte[63];
381
- fpByte[7] = endByte[31];
382
- fpByte[8] = endByte[38];
383
- fpByte[9] = endByte[6];
384
- fpByte[10] = endByte[46];
385
- fpByte[11] = endByte[14];
386
- fpByte[12] = endByte[54];
387
- fpByte[13] = endByte[22];
388
- fpByte[14] = endByte[62];
389
- fpByte[15] = endByte[30];
390
- fpByte[16] = endByte[37];
391
- fpByte[17] = endByte[5];
392
- fpByte[18] = endByte[45];
393
- fpByte[19] = endByte[13];
394
- fpByte[20] = endByte[53];
395
- fpByte[21] = endByte[21];
396
- fpByte[22] = endByte[61];
397
- fpByte[23] = endByte[29];
398
- fpByte[24] = endByte[36];
399
- fpByte[25] = endByte[4];
400
- fpByte[26] = endByte[44];
401
- fpByte[27] = endByte[12];
402
- fpByte[28] = endByte[52];
403
- fpByte[29] = endByte[20];
404
- fpByte[30] = endByte[60];
405
- fpByte[31] = endByte[28];
406
- fpByte[32] = endByte[35];
407
- fpByte[33] = endByte[3];
408
- fpByte[34] = endByte[43];
409
- fpByte[35] = endByte[11];
410
- fpByte[36] = endByte[51];
411
- fpByte[37] = endByte[19];
412
- fpByte[38] = endByte[59];
413
- fpByte[39] = endByte[27];
414
- fpByte[40] = endByte[34];
415
- fpByte[41] = endByte[2];
416
- fpByte[42] = endByte[42];
417
- fpByte[43] = endByte[10];
418
- fpByte[44] = endByte[50];
419
- fpByte[45] = endByte[18];
420
- fpByte[46] = endByte[58];
421
- fpByte[47] = endByte[26];
422
- fpByte[48] = endByte[33];
423
- fpByte[49] = endByte[1];
424
- fpByte[50] = endByte[41];
425
- fpByte[51] = endByte[9];
426
- fpByte[52] = endByte[49];
427
- fpByte[53] = endByte[17];
428
- fpByte[54] = endByte[57];
429
- fpByte[55] = endByte[25];
430
- fpByte[56] = endByte[32];
431
- fpByte[57] = endByte[0];
432
- fpByte[58] = endByte[40];
433
- fpByte[59] = endByte[8];
434
- fpByte[60] = endByte[48];
435
- fpByte[61] = endByte[16];
436
- fpByte[62] = endByte[56];
437
- fpByte[63] = endByte[24];
438
- return fpByte;
439
- }
440
-
441
- /*
442
- * generate 16 keys for xor
443
- *
444
- */
445
- function generateKeys(keyByte) {
446
- const key = new Array(56);
447
- const keys = [];
448
-
449
- keys[0] = [];
450
- keys[1] = [];
451
- keys[2] = [];
452
- keys[3] = [];
453
- keys[4] = [];
454
- keys[5] = [];
455
- keys[6] = [];
456
- keys[7] = [];
457
- keys[8] = [];
458
- keys[9] = [];
459
- keys[10] = [];
460
- keys[11] = [];
461
- keys[12] = [];
462
- keys[13] = [];
463
- keys[14] = [];
464
- keys[15] = [];
465
- const loop = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];
466
-
467
- for (let i = 0; i < 7; i++) {
468
- for (let j = 0, k = 7; j < 8; j++, k--) {
469
- key[i * 8 + j] = keyByte[8 * k + i];
470
- }
471
- }
472
-
473
- let i = 0;
474
- for (i = 0; i < 16; i++) {
475
- let tempLeft = 0;
476
- let tempRight = 0;
477
- for (let j = 0; j < loop[i]; j++) {
478
- tempLeft = key[0];
479
- tempRight = key[28];
480
- for (let k = 0; k < 27; k++) {
481
- key[k] = key[k + 1];
482
- key[28 + k] = key[29 + k];
483
- }
484
- key[27] = tempLeft;
485
- key[55] = tempRight;
486
- }
487
- const tempKey = new Array(48);
488
- tempKey[0] = key[13];
489
- tempKey[1] = key[16];
490
- tempKey[2] = key[10];
491
- tempKey[3] = key[23];
492
- tempKey[4] = key[0];
493
- tempKey[5] = key[4];
494
- tempKey[6] = key[2];
495
- tempKey[7] = key[27];
496
- tempKey[8] = key[14];
497
- tempKey[9] = key[5];
498
- tempKey[10] = key[20];
499
- tempKey[11] = key[9];
500
- tempKey[12] = key[22];
501
- tempKey[13] = key[18];
502
- tempKey[14] = key[11];
503
- tempKey[15] = key[3];
504
- tempKey[16] = key[25];
505
- tempKey[17] = key[7];
506
- tempKey[18] = key[15];
507
- tempKey[19] = key[6];
508
- tempKey[20] = key[26];
509
- tempKey[21] = key[19];
510
- tempKey[22] = key[12];
511
- tempKey[23] = key[1];
512
- tempKey[24] = key[40];
513
- tempKey[25] = key[51];
514
- tempKey[26] = key[30];
515
- tempKey[27] = key[36];
516
- tempKey[28] = key[46];
517
- tempKey[29] = key[54];
518
- tempKey[30] = key[29];
519
- tempKey[31] = key[39];
520
- tempKey[32] = key[50];
521
- tempKey[33] = key[44];
522
- tempKey[34] = key[32];
523
- tempKey[35] = key[47];
524
- tempKey[36] = key[43];
525
- tempKey[37] = key[48];
526
- tempKey[38] = key[38];
527
- tempKey[39] = key[55];
528
- tempKey[40] = key[33];
529
- tempKey[41] = key[52];
530
- tempKey[42] = key[45];
531
- tempKey[43] = key[41];
532
- tempKey[44] = key[49];
533
- tempKey[45] = key[35];
534
- tempKey[46] = key[28];
535
- tempKey[47] = key[31];
536
- let m;
537
- switch (i) {
538
- case 0:
539
- for (m = 0; m < 48; m++) {
540
- keys[0][m] = tempKey[m];
541
- }
542
- break;
543
- case 1:
544
- for (m = 0; m < 48; m++) {
545
- keys[1][m] = tempKey[m];
546
- }
547
- break;
548
- case 2:
549
- for (m = 0; m < 48; m++) {
550
- keys[2][m] = tempKey[m];
551
- }
552
- break;
553
- case 3:
554
- for (m = 0; m < 48; m++) {
555
- keys[3][m] = tempKey[m];
556
- }
557
- break;
558
- case 4:
559
- for (m = 0; m < 48; m++) {
560
- keys[4][m] = tempKey[m];
561
- }
562
- break;
563
- case 5:
564
- for (m = 0; m < 48; m++) {
565
- keys[5][m] = tempKey[m];
566
- }
567
- break;
568
- case 6:
569
- for (m = 0; m < 48; m++) {
570
- keys[6][m] = tempKey[m];
571
- }
572
- break;
573
- case 7:
574
- for (m = 0; m < 48; m++) {
575
- keys[7][m] = tempKey[m];
576
- }
577
- break;
578
- case 8:
579
- for (m = 0; m < 48; m++) {
580
- keys[8][m] = tempKey[m];
581
- }
582
- break;
583
- case 9:
584
- for (m = 0; m < 48; m++) {
585
- keys[9][m] = tempKey[m];
586
- }
587
- break;
588
- case 10:
589
- for (m = 0; m < 48; m++) {
590
- keys[10][m] = tempKey[m];
591
- }
592
- break;
593
- case 11:
594
- for (m = 0; m < 48; m++) {
595
- keys[11][m] = tempKey[m];
596
- }
597
- break;
598
- case 12:
599
- for (m = 0; m < 48; m++) {
600
- keys[12][m] = tempKey[m];
601
- }
602
- break;
603
- case 13:
604
- for (m = 0; m < 48; m++) {
605
- keys[13][m] = tempKey[m];
606
- }
607
- break;
608
- case 14:
609
- for (m = 0; m < 48; m++) {
610
- keys[14][m] = tempKey[m];
611
- }
612
- break;
613
- case 15:
614
- for (m = 0; m < 48; m++) {
615
- keys[15][m] = tempKey[m];
616
- }
617
- break;
618
- }
619
- }
620
- return keys;
621
- }
622
- function strToBt(str) {
623
- const leng = str.length;
624
- const bt = new Array(64);
625
- let i = 0,
626
- j = 0,
627
- p = 0,
628
- q = 0;
629
- if (leng < 4) {
630
- for (i = 0; i < leng; i++) {
631
- const k = str.charCodeAt(i);
632
- for (j = 0; j < 16; j++) {
633
- let pow = 1,
634
- m = 0;
635
- for (m = 15; m > j; m--) {
636
- pow *= 2;
637
- }
638
- bt[16 * i + j] = parseInt(k / pow) % 2;
639
- }
640
- }
641
- for (p = leng; p < 4; p++) {
642
- const k = 0;
643
- for (q = 0; q < 16; q++) {
644
- let pow = 1,
645
- m = 0;
646
- for (m = 15; m > q; m--) {
647
- pow *= 2;
648
- }
649
- bt[16 * p + q] = parseInt(k / pow) % 2;
650
- }
651
- }
652
- } else {
653
- for (i = 0; i < 4; i++) {
654
- const k = str.charCodeAt(i);
655
- for (j = 0; j < 16; j++) {
656
- let pow = 1;
657
- for (let m = 15; m > j; m--) {
658
- pow *= 2;
659
- }
660
- bt[16 * i + j] = parseInt(k / pow) % 2;
661
- }
662
- }
663
- }
664
- return bt;
665
- }
666
- function getKeyBytes(key) {
667
- const keyBytes = [];
668
- const leng = key.length;
669
- const iterator = parseInt(leng / 4);
670
- const remainder = leng % 4;
671
- let i = 0;
672
- for (i = 0; i < iterator; i++) {
673
- keyBytes[i] = strToBt(key.substring(i * 4 + 0, i * 4 + 4));
674
- }
675
- if (remainder > 0) {
676
- keyBytes[i] = strToBt(key.substring(i * 4 + 0, leng));
677
- }
678
- return keyBytes;
679
- }
680
-
681
- function enc(dataByte, keyByte) {
682
- const keys = generateKeys(keyByte);
683
- const ipByte = initPermute(dataByte);
684
- const ipLeft = new Array(32);
685
- const ipRight = new Array(32);
686
- const tempLeft = new Array(32);
687
- let i = 0,
688
- k = 0,
689
- m = 0,
690
- n = 0;
691
- for (k = 0; k < 32; k++) {
692
- ipLeft[k] = ipByte[k];
693
- ipRight[k] = ipByte[32 + k];
694
- }
695
- for (i = 0; i < 16; i++) {
696
- for (let j = 0; j < 32; j++) {
697
- tempLeft[j] = ipLeft[j];
698
- ipLeft[j] = ipRight[j];
699
- }
700
- const key = new Array(48);
701
- for (m = 0; m < 48; m++) {
702
- key[m] = keys[i][m];
703
- }
704
- const tempRight = xor(
705
- pPermute(sBoxPermute(xor(expandPermute(ipRight), key))),
706
- tempLeft
707
- );
708
- for (n = 0; n < 32; n++) {
709
- ipRight[n] = tempRight[n];
710
- }
711
- }
712
-
713
- const finalData = new Array(64);
714
- for (let i = 0; i < 32; i++) {
715
- finalData[i] = ipRight[i];
716
- finalData[32 + i] = ipLeft[i];
717
- }
718
- return finallyPermute(finalData);
719
- }
720
-
721
- function dec(dataByte, keyByte) {
722
- const keys = generateKeys(keyByte);
723
- const ipByte = initPermute(dataByte);
724
- const ipLeft = new Array(32);
725
- const ipRight = new Array(32);
726
- const tempLeft = new Array(32);
727
- let i = 0,
728
- j = 0,
729
- k = 0,
730
- m = 0,
731
- n = 0;
732
- for (k = 0; k < 32; k++) {
733
- ipLeft[k] = ipByte[k];
734
- ipRight[k] = ipByte[32 + k];
735
- }
736
- for (i = 15; i >= 0; i--) {
737
- for (j = 0; j < 32; j++) {
738
- tempLeft[j] = ipLeft[j];
739
- ipLeft[j] = ipRight[j];
740
- }
741
- const key = new Array(48);
742
- for (m = 0; m < 48; m++) {
743
- key[m] = keys[i][m];
744
- }
745
-
746
- const tempRight = xor(
747
- pPermute(sBoxPermute(xor(expandPermute(ipRight), key))),
748
- tempLeft
749
- );
750
- for (n = 0; n < 32; n++) {
751
- ipRight[n] = tempRight[n];
752
- }
753
- }
754
-
755
- const finalData = new Array(64);
756
- for (i = 0; i < 32; i++) {
757
- finalData[i] = ipRight[i];
758
- finalData[32 + i] = ipLeft[i];
759
- }
760
- return finallyPermute(finalData);
761
- }
762
-
763
- /*
764
- * 简单加密
765
- * */
766
- export function compileStr(code) {
767
- let c = String.fromCharCode(code.charCodeAt(0) + code.length);
768
- for (let i = 1; i < code.length; i++) {
769
- c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));
770
- }
771
- return escape(c);
772
- }
773
- /*
774
- * 简单解密
775
- * */
776
-
777
- export function uncompileStr(code) {
778
- code = unescape(code);
779
- let c = String.fromCharCode(code.charCodeAt(0) - code.length);
780
- for (let i = 1; i < code.length; i++) {
781
- c += String.fromCharCode(code.charCodeAt(i) - c.charCodeAt(i - 1));
782
- }
783
- return c;
784
- }
785
- function byteToString(byteData) {
786
- let str = "";
787
- for (let i = 0; i < 4; i++) {
788
- let count = 0;
789
- for (let j = 0; j < 16; j++) {
790
- let pow = 1;
791
- for (let m = 15; m > j; m--) {
792
- pow *= 2;
793
- }
794
- count += byteData[16 * i + j] * pow;
795
- }
796
- if (count != 0) {
797
- str += String.fromCharCode(count);
798
- }
799
- }
800
- return str;
801
- }
802
- /**
803
- * 加密方法
804
- * @param data
805
- * @param firstKey
806
- * @param secondKey
807
- * @param thirdKey
808
- * @returns {string}
809
- */
810
- export function strEnc(data, firstKey, secondKey, thirdKey) {
811
- const leng = data.length;
812
- let encData = "";
813
- let firstKeyBt,
814
- secondKeyBt,
815
- thirdKeyBt,
816
- firstLength,
817
- secondLength,
818
- thirdLength;
819
- if (firstKey != null && firstKey != "") {
820
- firstKeyBt = getKeyBytes(firstKey);
821
- firstLength = firstKeyBt.length;
822
- }
823
- if (secondKey != null && secondKey != "") {
824
- secondKeyBt = getKeyBytes(secondKey);
825
- secondLength = secondKeyBt.length;
826
- }
827
- if (thirdKey != null && thirdKey != "") {
828
- thirdKeyBt = getKeyBytes(thirdKey);
829
- thirdLength = thirdKeyBt.length;
830
- }
831
-
832
- if (leng > 0) {
833
- if (leng < 4) {
834
- const bt = strToBt(data);
835
- let encByte;
836
- if (
837
- firstKey != null &&
838
- firstKey != "" &&
839
- secondKey != null &&
840
- secondKey != "" &&
841
- thirdKey != null &&
842
- thirdKey != ""
843
- ) {
844
- let tempBt;
845
- let x, y, z;
846
- tempBt = bt;
847
- for (x = 0; x < firstLength; x++) {
848
- tempBt = enc(tempBt, firstKeyBt[x]);
849
- }
850
- for (y = 0; y < secondLength; y++) {
851
- tempBt = enc(tempBt, secondKeyBt[y]);
852
- }
853
- for (z = 0; z < thirdLength; z++) {
854
- tempBt = enc(tempBt, thirdKeyBt[z]);
855
- }
856
- encByte = tempBt;
857
- } else {
858
- if (
859
- firstKey != null &&
860
- firstKey != "" &&
861
- secondKey != null &&
862
- secondKey != ""
863
- ) {
864
- let tempBt;
865
- let x, y;
866
- tempBt = bt;
867
- for (x = 0; x < firstLength; x++) {
868
- tempBt = enc(tempBt, firstKeyBt[x]);
869
- }
870
- for (y = 0; y < secondLength; y++) {
871
- tempBt = enc(tempBt, secondKeyBt[y]);
872
- }
873
- encByte = tempBt;
874
- } else {
875
- if (firstKey != null && firstKey != "") {
876
- let tempBt;
877
- let x = 0;
878
- tempBt = bt;
879
- for (x = 0; x < firstLength; x++) {
880
- tempBt = enc(tempBt, firstKeyBt[x]);
881
- }
882
- encByte = tempBt;
883
- }
884
- }
885
- }
886
- encData = bt64ToHex(encByte);
887
- } else {
888
- const iterator = parseInt(leng / 4);
889
- const remainder = leng % 4;
890
- let i = 0;
891
- for (i = 0; i < iterator; i++) {
892
- const tempData = data.substring(i * 4 + 0, i * 4 + 4);
893
- const tempByte = strToBt(tempData);
894
- let encByte;
895
- if (
896
- firstKey != null &&
897
- firstKey != "" &&
898
- secondKey != null &&
899
- secondKey != "" &&
900
- thirdKey != null &&
901
- thirdKey != ""
902
- ) {
903
- let tempBt;
904
- let x, y, z;
905
- tempBt = tempByte;
906
- for (x = 0; x < firstLength; x++) {
907
- tempBt = enc(tempBt, firstKeyBt[x]);
908
- }
909
- for (y = 0; y < secondLength; y++) {
910
- tempBt = enc(tempBt, secondKeyBt[y]);
911
- }
912
- for (z = 0; z < thirdLength; z++) {
913
- tempBt = enc(tempBt, thirdKeyBt[z]);
914
- }
915
- encByte = tempBt;
916
- } else {
917
- if (
918
- firstKey != null &&
919
- firstKey != "" &&
920
- secondKey != null &&
921
- secondKey != ""
922
- ) {
923
- let tempBt;
924
- let x, y;
925
- tempBt = tempByte;
926
- for (x = 0; x < firstLength; x++) {
927
- tempBt = enc(tempBt, firstKeyBt[x]);
928
- }
929
- for (y = 0; y < secondLength; y++) {
930
- tempBt = enc(tempBt, secondKeyBt[y]);
931
- }
932
- encByte = tempBt;
933
- } else {
934
- if (firstKey != null && firstKey != "") {
935
- let tempBt;
936
- let x;
937
- tempBt = tempByte;
938
- for (x = 0; x < firstLength; x++) {
939
- tempBt = enc(tempBt, firstKeyBt[x]);
940
- }
941
- encByte = tempBt;
942
- }
943
- }
944
- }
945
- encData += bt64ToHex(encByte);
946
- }
947
- if (remainder > 0) {
948
- const remainderData = data.substring(iterator * 4 + 0, leng);
949
- const tempByte = strToBt(remainderData);
950
- let encByte;
951
- if (
952
- firstKey != null &&
953
- firstKey != "" &&
954
- secondKey != null &&
955
- secondKey != "" &&
956
- thirdKey != null &&
957
- thirdKey != ""
958
- ) {
959
- let tempBt;
960
- let x, y, z;
961
- tempBt = tempByte;
962
- for (x = 0; x < firstLength; x++) {
963
- tempBt = enc(tempBt, firstKeyBt[x]);
964
- }
965
- for (y = 0; y < secondLength; y++) {
966
- tempBt = enc(tempBt, secondKeyBt[y]);
967
- }
968
- for (z = 0; z < thirdLength; z++) {
969
- tempBt = enc(tempBt, thirdKeyBt[z]);
970
- }
971
- encByte = tempBt;
972
- } else {
973
- if (
974
- firstKey != null &&
975
- firstKey != "" &&
976
- secondKey != null &&
977
- secondKey != ""
978
- ) {
979
- let tempBt;
980
- let x, y;
981
- tempBt = tempByte;
982
- for (x = 0; x < firstLength; x++) {
983
- tempBt = enc(tempBt, firstKeyBt[x]);
984
- }
985
- for (y = 0; y < secondLength; y++) {
986
- tempBt = enc(tempBt, secondKeyBt[y]);
987
- }
988
- encByte = tempBt;
989
- } else {
990
- if (firstKey != null && firstKey != "") {
991
- let tempBt;
992
- let x;
993
- tempBt = tempByte;
994
- for (x = 0; x < firstLength; x++) {
995
- tempBt = enc(tempBt, firstKeyBt[x]);
996
- }
997
- encByte = tempBt;
998
- }
999
- }
1000
- }
1001
- encData += bt64ToHex(encByte);
1002
- }
1003
- }
1004
- }
1005
- return encData;
1006
- }
1007
-
1008
- /*
1009
- * decrypt the encrypted string to the original string
1010
- *
1011
- * return the original string
1012
- */
1013
- /**
1014
- * 解密方法
1015
- * @param data
1016
- * @param firstKey
1017
- * @param secondKey
1018
- * @param thirdKey
1019
- * @returns {string|string}
1020
- */
1021
- export function strDec(data, firstKey, secondKey, thirdKey) {
1022
- const leng = data.length;
1023
- let decStr = "";
1024
- let firstKeyBt,
1025
- secondKeyBt,
1026
- thirdKeyBt,
1027
- firstLength,
1028
- secondLength,
1029
- thirdLength;
1030
- if (firstKey != null && firstKey != "") {
1031
- firstKeyBt = getKeyBytes(firstKey);
1032
- firstLength = firstKeyBt.length;
1033
- }
1034
- if (secondKey != null && secondKey != "") {
1035
- secondKeyBt = getKeyBytes(secondKey);
1036
- secondLength = secondKeyBt.length;
1037
- }
1038
- if (thirdKey != null && thirdKey != "") {
1039
- thirdKeyBt = getKeyBytes(thirdKey);
1040
- thirdLength = thirdKeyBt.length;
1041
- }
1042
-
1043
- const iterator = parseInt(leng / 16);
1044
- let i = 0;
1045
- for (i = 0; i < iterator; i++) {
1046
- const tempData = data.substring(i * 16 + 0, i * 16 + 16);
1047
- const strByte = hexToBt64(tempData);
1048
- const intByte = new Array(64);
1049
- let j = 0;
1050
- for (j = 0; j < 64; j++) {
1051
- intByte[j] = parseInt(strByte.substring(j, j + 1));
1052
- }
1053
- let decByte;
1054
- if (
1055
- firstKey != null &&
1056
- firstKey != "" &&
1057
- secondKey != null &&
1058
- secondKey != "" &&
1059
- thirdKey != null &&
1060
- thirdKey != ""
1061
- ) {
1062
- let tempBt;
1063
- let x, y, z;
1064
- tempBt = intByte;
1065
- for (x = thirdLength - 1; x >= 0; x--) {
1066
- tempBt = dec(tempBt, thirdKeyBt[x]);
1067
- }
1068
- for (y = secondLength - 1; y >= 0; y--) {
1069
- tempBt = dec(tempBt, secondKeyBt[y]);
1070
- }
1071
- for (z = firstLength - 1; z >= 0; z--) {
1072
- tempBt = dec(tempBt, firstKeyBt[z]);
1073
- }
1074
- decByte = tempBt;
1075
- } else {
1076
- if (
1077
- firstKey != null &&
1078
- firstKey != "" &&
1079
- secondKey != null &&
1080
- secondKey != ""
1081
- ) {
1082
- let tempBt;
1083
- let x, y;
1084
- tempBt = intByte;
1085
- for (x = secondLength - 1; x >= 0; x--) {
1086
- tempBt = dec(tempBt, secondKeyBt[x]);
1087
- }
1088
- for (y = firstLength - 1; y >= 0; y--) {
1089
- tempBt = dec(tempBt, firstKeyBt[y]);
1090
- }
1091
- decByte = tempBt;
1092
- } else {
1093
- if (firstKey != null && firstKey != "") {
1094
- let tempBt;
1095
- let x;
1096
- tempBt = intByte;
1097
- for (x = firstLength - 1; x >= 0; x--) {
1098
- tempBt = dec(tempBt, firstKeyBt[x]);
1099
- }
1100
- decByte = tempBt;
1101
- }
1102
- }
1103
- }
1104
- decStr += byteToString(decByte);
1105
- }
1106
- return decStr;
1107
- }
1
+ /*
2
+ * the 64 bit des core arithmetic
3
+ */
4
+ function bt4ToHex(binary) {
5
+ let hex;
6
+ switch (binary) {
7
+ case "0000":
8
+ hex = "0";
9
+ break;
10
+ case "0001":
11
+ hex = "1";
12
+ break;
13
+ case "0010":
14
+ hex = "2";
15
+ break;
16
+ case "0011":
17
+ hex = "3";
18
+ break;
19
+ case "0100":
20
+ hex = "4";
21
+ break;
22
+ case "0101":
23
+ hex = "5";
24
+ break;
25
+ case "0110":
26
+ hex = "6";
27
+ break;
28
+ case "0111":
29
+ hex = "7";
30
+ break;
31
+ case "1000":
32
+ hex = "8";
33
+ break;
34
+ case "1001":
35
+ hex = "9";
36
+ break;
37
+ case "1010":
38
+ hex = "A";
39
+ break;
40
+ case "1011":
41
+ hex = "B";
42
+ break;
43
+ case "1100":
44
+ hex = "C";
45
+ break;
46
+ case "1101":
47
+ hex = "D";
48
+ break;
49
+ case "1110":
50
+ hex = "E";
51
+ break;
52
+ case "1111":
53
+ hex = "F";
54
+ break;
55
+ }
56
+ return hex;
57
+ }
58
+ function bt64ToHex(byteData) {
59
+ let hex = "";
60
+ for (let i = 0; i < 16; i++) {
61
+ let bt = "";
62
+ for (let j = 0; j < 4; j++) {
63
+ bt += byteData[i * 4 + j];
64
+ }
65
+ hex += bt4ToHex(bt);
66
+ }
67
+ return hex;
68
+ }
69
+ function hexToBt4(hex) {
70
+ let binary;
71
+ switch (hex) {
72
+ case "0":
73
+ binary = "0000";
74
+ break;
75
+ case "1":
76
+ binary = "0001";
77
+ break;
78
+ case "2":
79
+ binary = "0010";
80
+ break;
81
+ case "3":
82
+ binary = "0011";
83
+ break;
84
+ case "4":
85
+ binary = "0100";
86
+ break;
87
+ case "5":
88
+ binary = "0101";
89
+ break;
90
+ case "6":
91
+ binary = "0110";
92
+ break;
93
+ case "7":
94
+ binary = "0111";
95
+ break;
96
+ case "8":
97
+ binary = "1000";
98
+ break;
99
+ case "9":
100
+ binary = "1001";
101
+ break;
102
+ case "A":
103
+ binary = "1010";
104
+ break;
105
+ case "B":
106
+ binary = "1011";
107
+ break;
108
+ case "C":
109
+ binary = "1100";
110
+ break;
111
+ case "D":
112
+ binary = "1101";
113
+ break;
114
+ case "E":
115
+ binary = "1110";
116
+ break;
117
+ case "F":
118
+ binary = "1111";
119
+ break;
120
+ }
121
+ return binary;
122
+ }
123
+
124
+ function hexToBt64(hex) {
125
+ let binary = "";
126
+ for (let i = 0; i < 16; i++) {
127
+ binary += hexToBt4(hex.substring(i, i + 1));
128
+ }
129
+ return binary;
130
+ }
131
+
132
+ function initPermute(originalData) {
133
+ const ipByte = new Array(64);
134
+ for (let i = 0, m = 1, n = 0; i < 4; i++, m += 2, n += 2) {
135
+ for (let j = 7, k = 0; j >= 0; j--, k++) {
136
+ ipByte[i * 8 + k] = originalData[j * 8 + m];
137
+ ipByte[i * 8 + k + 32] = originalData[j * 8 + n];
138
+ }
139
+ }
140
+ return ipByte;
141
+ }
142
+
143
+ function expandPermute(rightData) {
144
+ const epByte = new Array(48);
145
+ for (let i = 0; i < 8; i++) {
146
+ if (i == 0) {
147
+ epByte[i * 6 + 0] = rightData[31];
148
+ } else {
149
+ epByte[i * 6 + 0] = rightData[i * 4 - 1];
150
+ }
151
+ epByte[i * 6 + 1] = rightData[i * 4 + 0];
152
+ epByte[i * 6 + 2] = rightData[i * 4 + 1];
153
+ epByte[i * 6 + 3] = rightData[i * 4 + 2];
154
+ epByte[i * 6 + 4] = rightData[i * 4 + 3];
155
+ if (i == 7) {
156
+ epByte[i * 6 + 5] = rightData[0];
157
+ } else {
158
+ epByte[i * 6 + 5] = rightData[i * 4 + 4];
159
+ }
160
+ }
161
+ return epByte;
162
+ }
163
+
164
+ function xor(byteOne, byteTwo) {
165
+ const xorByte = new Array(byteOne.length);
166
+ for (let i = 0; i < byteOne.length; i++) {
167
+ xorByte[i] = byteOne[i] ^ byteTwo[i];
168
+ }
169
+ return xorByte;
170
+ }
171
+
172
+ function getBoxBinary(i) {
173
+ let binary = "";
174
+ switch (i) {
175
+ case 0:
176
+ binary = "0000";
177
+ break;
178
+ case 1:
179
+ binary = "0001";
180
+ break;
181
+ case 2:
182
+ binary = "0010";
183
+ break;
184
+ case 3:
185
+ binary = "0011";
186
+ break;
187
+ case 4:
188
+ binary = "0100";
189
+ break;
190
+ case 5:
191
+ binary = "0101";
192
+ break;
193
+ case 6:
194
+ binary = "0110";
195
+ break;
196
+ case 7:
197
+ binary = "0111";
198
+ break;
199
+ case 8:
200
+ binary = "1000";
201
+ break;
202
+ case 9:
203
+ binary = "1001";
204
+ break;
205
+ case 10:
206
+ binary = "1010";
207
+ break;
208
+ case 11:
209
+ binary = "1011";
210
+ break;
211
+ case 12:
212
+ binary = "1100";
213
+ break;
214
+ case 13:
215
+ binary = "1101";
216
+ break;
217
+ case 14:
218
+ binary = "1110";
219
+ break;
220
+ case 15:
221
+ binary = "1111";
222
+ break;
223
+ }
224
+ return binary;
225
+ }
226
+
227
+ function sBoxPermute(expandByte) {
228
+ const sBoxByte = new Array(32);
229
+ let binary = "";
230
+ const s1 = [
231
+ [14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7],
232
+ [0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8],
233
+ [4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0],
234
+ [15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13]
235
+ ];
236
+
237
+ /* Table - s2 */
238
+ const s2 = [
239
+ [15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10],
240
+ [3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5],
241
+ [0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15],
242
+ [13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9]
243
+ ];
244
+
245
+ /* Table - s3 */
246
+ const s3 = [
247
+ [10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8],
248
+ [13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1],
249
+ [13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7],
250
+ [1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12]
251
+ ];
252
+ /* Table - s4 */
253
+ const s4 = [
254
+ [7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15],
255
+ [13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9],
256
+ [10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4],
257
+ [3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14]
258
+ ];
259
+
260
+ /* Table - s5 */
261
+ const s5 = [
262
+ [2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9],
263
+ [14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6],
264
+ [4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14],
265
+ [11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3]
266
+ ];
267
+
268
+ /* Table - s6 */
269
+ const s6 = [
270
+ [12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11],
271
+ [10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8],
272
+ [9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6],
273
+ [4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13]
274
+ ];
275
+
276
+ /* Table - s7 */
277
+ const s7 = [
278
+ [4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1],
279
+ [13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6],
280
+ [1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2],
281
+ [6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12]
282
+ ];
283
+
284
+ /* Table - s8 */
285
+ const s8 = [
286
+ [13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7],
287
+ [1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2],
288
+ [7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8],
289
+ [2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11]
290
+ ];
291
+
292
+ for (let m = 0; m < 8; m++) {
293
+ let i = 0,
294
+ j = 0;
295
+ i = expandByte[m * 6 + 0] * 2 + expandByte[m * 6 + 5];
296
+ j =
297
+ expandByte[m * 6 + 1] * 2 * 2 * 2 +
298
+ expandByte[m * 6 + 2] * 2 * 2 +
299
+ expandByte[m * 6 + 3] * 2 +
300
+ expandByte[m * 6 + 4];
301
+ switch (m) {
302
+ case 0:
303
+ binary = getBoxBinary(s1[i][j]);
304
+ break;
305
+ case 1:
306
+ binary = getBoxBinary(s2[i][j]);
307
+ break;
308
+ case 2:
309
+ binary = getBoxBinary(s3[i][j]);
310
+ break;
311
+ case 3:
312
+ binary = getBoxBinary(s4[i][j]);
313
+ break;
314
+ case 4:
315
+ binary = getBoxBinary(s5[i][j]);
316
+ break;
317
+ case 5:
318
+ binary = getBoxBinary(s6[i][j]);
319
+ break;
320
+ case 6:
321
+ binary = getBoxBinary(s7[i][j]);
322
+ break;
323
+ case 7:
324
+ binary = getBoxBinary(s8[i][j]);
325
+ break;
326
+ }
327
+ sBoxByte[m * 4 + 0] = parseInt(binary.substring(0, 1));
328
+ sBoxByte[m * 4 + 1] = parseInt(binary.substring(1, 2));
329
+ sBoxByte[m * 4 + 2] = parseInt(binary.substring(2, 3));
330
+ sBoxByte[m * 4 + 3] = parseInt(binary.substring(3, 4));
331
+ }
332
+ return sBoxByte;
333
+ }
334
+
335
+ function pPermute(sBoxByte) {
336
+ const pBoxPermute = new Array(32);
337
+ pBoxPermute[0] = sBoxByte[15];
338
+ pBoxPermute[1] = sBoxByte[6];
339
+ pBoxPermute[2] = sBoxByte[19];
340
+ pBoxPermute[3] = sBoxByte[20];
341
+ pBoxPermute[4] = sBoxByte[28];
342
+ pBoxPermute[5] = sBoxByte[11];
343
+ pBoxPermute[6] = sBoxByte[27];
344
+ pBoxPermute[7] = sBoxByte[16];
345
+ pBoxPermute[8] = sBoxByte[0];
346
+ pBoxPermute[9] = sBoxByte[14];
347
+ pBoxPermute[10] = sBoxByte[22];
348
+ pBoxPermute[11] = sBoxByte[25];
349
+ pBoxPermute[12] = sBoxByte[4];
350
+ pBoxPermute[13] = sBoxByte[17];
351
+ pBoxPermute[14] = sBoxByte[30];
352
+ pBoxPermute[15] = sBoxByte[9];
353
+ pBoxPermute[16] = sBoxByte[1];
354
+ pBoxPermute[17] = sBoxByte[7];
355
+ pBoxPermute[18] = sBoxByte[23];
356
+ pBoxPermute[19] = sBoxByte[13];
357
+ pBoxPermute[20] = sBoxByte[31];
358
+ pBoxPermute[21] = sBoxByte[26];
359
+ pBoxPermute[22] = sBoxByte[2];
360
+ pBoxPermute[23] = sBoxByte[8];
361
+ pBoxPermute[24] = sBoxByte[18];
362
+ pBoxPermute[25] = sBoxByte[12];
363
+ pBoxPermute[26] = sBoxByte[29];
364
+ pBoxPermute[27] = sBoxByte[5];
365
+ pBoxPermute[28] = sBoxByte[21];
366
+ pBoxPermute[29] = sBoxByte[10];
367
+ pBoxPermute[30] = sBoxByte[3];
368
+ pBoxPermute[31] = sBoxByte[24];
369
+ return pBoxPermute;
370
+ }
371
+
372
+ function finallyPermute(endByte) {
373
+ const fpByte = new Array(64);
374
+ fpByte[0] = endByte[39];
375
+ fpByte[1] = endByte[7];
376
+ fpByte[2] = endByte[47];
377
+ fpByte[3] = endByte[15];
378
+ fpByte[4] = endByte[55];
379
+ fpByte[5] = endByte[23];
380
+ fpByte[6] = endByte[63];
381
+ fpByte[7] = endByte[31];
382
+ fpByte[8] = endByte[38];
383
+ fpByte[9] = endByte[6];
384
+ fpByte[10] = endByte[46];
385
+ fpByte[11] = endByte[14];
386
+ fpByte[12] = endByte[54];
387
+ fpByte[13] = endByte[22];
388
+ fpByte[14] = endByte[62];
389
+ fpByte[15] = endByte[30];
390
+ fpByte[16] = endByte[37];
391
+ fpByte[17] = endByte[5];
392
+ fpByte[18] = endByte[45];
393
+ fpByte[19] = endByte[13];
394
+ fpByte[20] = endByte[53];
395
+ fpByte[21] = endByte[21];
396
+ fpByte[22] = endByte[61];
397
+ fpByte[23] = endByte[29];
398
+ fpByte[24] = endByte[36];
399
+ fpByte[25] = endByte[4];
400
+ fpByte[26] = endByte[44];
401
+ fpByte[27] = endByte[12];
402
+ fpByte[28] = endByte[52];
403
+ fpByte[29] = endByte[20];
404
+ fpByte[30] = endByte[60];
405
+ fpByte[31] = endByte[28];
406
+ fpByte[32] = endByte[35];
407
+ fpByte[33] = endByte[3];
408
+ fpByte[34] = endByte[43];
409
+ fpByte[35] = endByte[11];
410
+ fpByte[36] = endByte[51];
411
+ fpByte[37] = endByte[19];
412
+ fpByte[38] = endByte[59];
413
+ fpByte[39] = endByte[27];
414
+ fpByte[40] = endByte[34];
415
+ fpByte[41] = endByte[2];
416
+ fpByte[42] = endByte[42];
417
+ fpByte[43] = endByte[10];
418
+ fpByte[44] = endByte[50];
419
+ fpByte[45] = endByte[18];
420
+ fpByte[46] = endByte[58];
421
+ fpByte[47] = endByte[26];
422
+ fpByte[48] = endByte[33];
423
+ fpByte[49] = endByte[1];
424
+ fpByte[50] = endByte[41];
425
+ fpByte[51] = endByte[9];
426
+ fpByte[52] = endByte[49];
427
+ fpByte[53] = endByte[17];
428
+ fpByte[54] = endByte[57];
429
+ fpByte[55] = endByte[25];
430
+ fpByte[56] = endByte[32];
431
+ fpByte[57] = endByte[0];
432
+ fpByte[58] = endByte[40];
433
+ fpByte[59] = endByte[8];
434
+ fpByte[60] = endByte[48];
435
+ fpByte[61] = endByte[16];
436
+ fpByte[62] = endByte[56];
437
+ fpByte[63] = endByte[24];
438
+ return fpByte;
439
+ }
440
+
441
+ /*
442
+ * generate 16 keys for xor
443
+ *
444
+ */
445
+ function generateKeys(keyByte) {
446
+ const key = new Array(56);
447
+ const keys = [];
448
+
449
+ keys[0] = [];
450
+ keys[1] = [];
451
+ keys[2] = [];
452
+ keys[3] = [];
453
+ keys[4] = [];
454
+ keys[5] = [];
455
+ keys[6] = [];
456
+ keys[7] = [];
457
+ keys[8] = [];
458
+ keys[9] = [];
459
+ keys[10] = [];
460
+ keys[11] = [];
461
+ keys[12] = [];
462
+ keys[13] = [];
463
+ keys[14] = [];
464
+ keys[15] = [];
465
+ const loop = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];
466
+
467
+ for (let i = 0; i < 7; i++) {
468
+ for (let j = 0, k = 7; j < 8; j++, k--) {
469
+ key[i * 8 + j] = keyByte[8 * k + i];
470
+ }
471
+ }
472
+
473
+ let i = 0;
474
+ for (i = 0; i < 16; i++) {
475
+ let tempLeft = 0;
476
+ let tempRight = 0;
477
+ for (let j = 0; j < loop[i]; j++) {
478
+ tempLeft = key[0];
479
+ tempRight = key[28];
480
+ for (let k = 0; k < 27; k++) {
481
+ key[k] = key[k + 1];
482
+ key[28 + k] = key[29 + k];
483
+ }
484
+ key[27] = tempLeft;
485
+ key[55] = tempRight;
486
+ }
487
+ const tempKey = new Array(48);
488
+ tempKey[0] = key[13];
489
+ tempKey[1] = key[16];
490
+ tempKey[2] = key[10];
491
+ tempKey[3] = key[23];
492
+ tempKey[4] = key[0];
493
+ tempKey[5] = key[4];
494
+ tempKey[6] = key[2];
495
+ tempKey[7] = key[27];
496
+ tempKey[8] = key[14];
497
+ tempKey[9] = key[5];
498
+ tempKey[10] = key[20];
499
+ tempKey[11] = key[9];
500
+ tempKey[12] = key[22];
501
+ tempKey[13] = key[18];
502
+ tempKey[14] = key[11];
503
+ tempKey[15] = key[3];
504
+ tempKey[16] = key[25];
505
+ tempKey[17] = key[7];
506
+ tempKey[18] = key[15];
507
+ tempKey[19] = key[6];
508
+ tempKey[20] = key[26];
509
+ tempKey[21] = key[19];
510
+ tempKey[22] = key[12];
511
+ tempKey[23] = key[1];
512
+ tempKey[24] = key[40];
513
+ tempKey[25] = key[51];
514
+ tempKey[26] = key[30];
515
+ tempKey[27] = key[36];
516
+ tempKey[28] = key[46];
517
+ tempKey[29] = key[54];
518
+ tempKey[30] = key[29];
519
+ tempKey[31] = key[39];
520
+ tempKey[32] = key[50];
521
+ tempKey[33] = key[44];
522
+ tempKey[34] = key[32];
523
+ tempKey[35] = key[47];
524
+ tempKey[36] = key[43];
525
+ tempKey[37] = key[48];
526
+ tempKey[38] = key[38];
527
+ tempKey[39] = key[55];
528
+ tempKey[40] = key[33];
529
+ tempKey[41] = key[52];
530
+ tempKey[42] = key[45];
531
+ tempKey[43] = key[41];
532
+ tempKey[44] = key[49];
533
+ tempKey[45] = key[35];
534
+ tempKey[46] = key[28];
535
+ tempKey[47] = key[31];
536
+ let m;
537
+ switch (i) {
538
+ case 0:
539
+ for (m = 0; m < 48; m++) {
540
+ keys[0][m] = tempKey[m];
541
+ }
542
+ break;
543
+ case 1:
544
+ for (m = 0; m < 48; m++) {
545
+ keys[1][m] = tempKey[m];
546
+ }
547
+ break;
548
+ case 2:
549
+ for (m = 0; m < 48; m++) {
550
+ keys[2][m] = tempKey[m];
551
+ }
552
+ break;
553
+ case 3:
554
+ for (m = 0; m < 48; m++) {
555
+ keys[3][m] = tempKey[m];
556
+ }
557
+ break;
558
+ case 4:
559
+ for (m = 0; m < 48; m++) {
560
+ keys[4][m] = tempKey[m];
561
+ }
562
+ break;
563
+ case 5:
564
+ for (m = 0; m < 48; m++) {
565
+ keys[5][m] = tempKey[m];
566
+ }
567
+ break;
568
+ case 6:
569
+ for (m = 0; m < 48; m++) {
570
+ keys[6][m] = tempKey[m];
571
+ }
572
+ break;
573
+ case 7:
574
+ for (m = 0; m < 48; m++) {
575
+ keys[7][m] = tempKey[m];
576
+ }
577
+ break;
578
+ case 8:
579
+ for (m = 0; m < 48; m++) {
580
+ keys[8][m] = tempKey[m];
581
+ }
582
+ break;
583
+ case 9:
584
+ for (m = 0; m < 48; m++) {
585
+ keys[9][m] = tempKey[m];
586
+ }
587
+ break;
588
+ case 10:
589
+ for (m = 0; m < 48; m++) {
590
+ keys[10][m] = tempKey[m];
591
+ }
592
+ break;
593
+ case 11:
594
+ for (m = 0; m < 48; m++) {
595
+ keys[11][m] = tempKey[m];
596
+ }
597
+ break;
598
+ case 12:
599
+ for (m = 0; m < 48; m++) {
600
+ keys[12][m] = tempKey[m];
601
+ }
602
+ break;
603
+ case 13:
604
+ for (m = 0; m < 48; m++) {
605
+ keys[13][m] = tempKey[m];
606
+ }
607
+ break;
608
+ case 14:
609
+ for (m = 0; m < 48; m++) {
610
+ keys[14][m] = tempKey[m];
611
+ }
612
+ break;
613
+ case 15:
614
+ for (m = 0; m < 48; m++) {
615
+ keys[15][m] = tempKey[m];
616
+ }
617
+ break;
618
+ }
619
+ }
620
+ return keys;
621
+ }
622
+ function strToBt(str) {
623
+ const leng = str.length;
624
+ const bt = new Array(64);
625
+ let i = 0,
626
+ j = 0,
627
+ p = 0,
628
+ q = 0;
629
+ if (leng < 4) {
630
+ for (i = 0; i < leng; i++) {
631
+ const k = str.charCodeAt(i);
632
+ for (j = 0; j < 16; j++) {
633
+ let pow = 1,
634
+ m = 0;
635
+ for (m = 15; m > j; m--) {
636
+ pow *= 2;
637
+ }
638
+ bt[16 * i + j] = parseInt(k / pow) % 2;
639
+ }
640
+ }
641
+ for (p = leng; p < 4; p++) {
642
+ const k = 0;
643
+ for (q = 0; q < 16; q++) {
644
+ let pow = 1,
645
+ m = 0;
646
+ for (m = 15; m > q; m--) {
647
+ pow *= 2;
648
+ }
649
+ bt[16 * p + q] = parseInt(k / pow) % 2;
650
+ }
651
+ }
652
+ } else {
653
+ for (i = 0; i < 4; i++) {
654
+ const k = str.charCodeAt(i);
655
+ for (j = 0; j < 16; j++) {
656
+ let pow = 1;
657
+ for (let m = 15; m > j; m--) {
658
+ pow *= 2;
659
+ }
660
+ bt[16 * i + j] = parseInt(k / pow) % 2;
661
+ }
662
+ }
663
+ }
664
+ return bt;
665
+ }
666
+ function getKeyBytes(key) {
667
+ const keyBytes = [];
668
+ const leng = key.length;
669
+ const iterator = parseInt(leng / 4);
670
+ const remainder = leng % 4;
671
+ let i = 0;
672
+ for (i = 0; i < iterator; i++) {
673
+ keyBytes[i] = strToBt(key.substring(i * 4 + 0, i * 4 + 4));
674
+ }
675
+ if (remainder > 0) {
676
+ keyBytes[i] = strToBt(key.substring(i * 4 + 0, leng));
677
+ }
678
+ return keyBytes;
679
+ }
680
+
681
+ function enc(dataByte, keyByte) {
682
+ const keys = generateKeys(keyByte);
683
+ const ipByte = initPermute(dataByte);
684
+ const ipLeft = new Array(32);
685
+ const ipRight = new Array(32);
686
+ const tempLeft = new Array(32);
687
+ let i = 0,
688
+ k = 0,
689
+ m = 0,
690
+ n = 0;
691
+ for (k = 0; k < 32; k++) {
692
+ ipLeft[k] = ipByte[k];
693
+ ipRight[k] = ipByte[32 + k];
694
+ }
695
+ for (i = 0; i < 16; i++) {
696
+ for (let j = 0; j < 32; j++) {
697
+ tempLeft[j] = ipLeft[j];
698
+ ipLeft[j] = ipRight[j];
699
+ }
700
+ const key = new Array(48);
701
+ for (m = 0; m < 48; m++) {
702
+ key[m] = keys[i][m];
703
+ }
704
+ const tempRight = xor(
705
+ pPermute(sBoxPermute(xor(expandPermute(ipRight), key))),
706
+ tempLeft
707
+ );
708
+ for (n = 0; n < 32; n++) {
709
+ ipRight[n] = tempRight[n];
710
+ }
711
+ }
712
+
713
+ const finalData = new Array(64);
714
+ for (let i = 0; i < 32; i++) {
715
+ finalData[i] = ipRight[i];
716
+ finalData[32 + i] = ipLeft[i];
717
+ }
718
+ return finallyPermute(finalData);
719
+ }
720
+
721
+ function dec(dataByte, keyByte) {
722
+ const keys = generateKeys(keyByte);
723
+ const ipByte = initPermute(dataByte);
724
+ const ipLeft = new Array(32);
725
+ const ipRight = new Array(32);
726
+ const tempLeft = new Array(32);
727
+ let i = 0,
728
+ j = 0,
729
+ k = 0,
730
+ m = 0,
731
+ n = 0;
732
+ for (k = 0; k < 32; k++) {
733
+ ipLeft[k] = ipByte[k];
734
+ ipRight[k] = ipByte[32 + k];
735
+ }
736
+ for (i = 15; i >= 0; i--) {
737
+ for (j = 0; j < 32; j++) {
738
+ tempLeft[j] = ipLeft[j];
739
+ ipLeft[j] = ipRight[j];
740
+ }
741
+ const key = new Array(48);
742
+ for (m = 0; m < 48; m++) {
743
+ key[m] = keys[i][m];
744
+ }
745
+
746
+ const tempRight = xor(
747
+ pPermute(sBoxPermute(xor(expandPermute(ipRight), key))),
748
+ tempLeft
749
+ );
750
+ for (n = 0; n < 32; n++) {
751
+ ipRight[n] = tempRight[n];
752
+ }
753
+ }
754
+
755
+ const finalData = new Array(64);
756
+ for (i = 0; i < 32; i++) {
757
+ finalData[i] = ipRight[i];
758
+ finalData[32 + i] = ipLeft[i];
759
+ }
760
+ return finallyPermute(finalData);
761
+ }
762
+
763
+ /*
764
+ * 简单加密
765
+ * */
766
+ export function compileStr(code) {
767
+ let c = String.fromCharCode(code.charCodeAt(0) + code.length);
768
+ for (let i = 1; i < code.length; i++) {
769
+ c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));
770
+ }
771
+ return escape(c);
772
+ }
773
+ /*
774
+ * 简单解密
775
+ * */
776
+
777
+ export function uncompileStr(code) {
778
+ code = unescape(code);
779
+ let c = String.fromCharCode(code.charCodeAt(0) - code.length);
780
+ for (let i = 1; i < code.length; i++) {
781
+ c += String.fromCharCode(code.charCodeAt(i) - c.charCodeAt(i - 1));
782
+ }
783
+ return c;
784
+ }
785
+ function byteToString(byteData) {
786
+ let str = "";
787
+ for (let i = 0; i < 4; i++) {
788
+ let count = 0;
789
+ for (let j = 0; j < 16; j++) {
790
+ let pow = 1;
791
+ for (let m = 15; m > j; m--) {
792
+ pow *= 2;
793
+ }
794
+ count += byteData[16 * i + j] * pow;
795
+ }
796
+ if (count != 0) {
797
+ str += String.fromCharCode(count);
798
+ }
799
+ }
800
+ return str;
801
+ }
802
+ /**
803
+ * 加密方法
804
+ * @param data
805
+ * @param firstKey
806
+ * @param secondKey
807
+ * @param thirdKey
808
+ * @returns {string}
809
+ */
810
+ export function strEnc(data, firstKey, secondKey, thirdKey) {
811
+ const leng = data.length;
812
+ let encData = "";
813
+ let firstKeyBt,
814
+ secondKeyBt,
815
+ thirdKeyBt,
816
+ firstLength,
817
+ secondLength,
818
+ thirdLength;
819
+ if (firstKey != null && firstKey != "") {
820
+ firstKeyBt = getKeyBytes(firstKey);
821
+ firstLength = firstKeyBt.length;
822
+ }
823
+ if (secondKey != null && secondKey != "") {
824
+ secondKeyBt = getKeyBytes(secondKey);
825
+ secondLength = secondKeyBt.length;
826
+ }
827
+ if (thirdKey != null && thirdKey != "") {
828
+ thirdKeyBt = getKeyBytes(thirdKey);
829
+ thirdLength = thirdKeyBt.length;
830
+ }
831
+
832
+ if (leng > 0) {
833
+ if (leng < 4) {
834
+ const bt = strToBt(data);
835
+ let encByte;
836
+ if (
837
+ firstKey != null &&
838
+ firstKey != "" &&
839
+ secondKey != null &&
840
+ secondKey != "" &&
841
+ thirdKey != null &&
842
+ thirdKey != ""
843
+ ) {
844
+ let tempBt;
845
+ let x, y, z;
846
+ tempBt = bt;
847
+ for (x = 0; x < firstLength; x++) {
848
+ tempBt = enc(tempBt, firstKeyBt[x]);
849
+ }
850
+ for (y = 0; y < secondLength; y++) {
851
+ tempBt = enc(tempBt, secondKeyBt[y]);
852
+ }
853
+ for (z = 0; z < thirdLength; z++) {
854
+ tempBt = enc(tempBt, thirdKeyBt[z]);
855
+ }
856
+ encByte = tempBt;
857
+ } else {
858
+ if (
859
+ firstKey != null &&
860
+ firstKey != "" &&
861
+ secondKey != null &&
862
+ secondKey != ""
863
+ ) {
864
+ let tempBt;
865
+ let x, y;
866
+ tempBt = bt;
867
+ for (x = 0; x < firstLength; x++) {
868
+ tempBt = enc(tempBt, firstKeyBt[x]);
869
+ }
870
+ for (y = 0; y < secondLength; y++) {
871
+ tempBt = enc(tempBt, secondKeyBt[y]);
872
+ }
873
+ encByte = tempBt;
874
+ } else {
875
+ if (firstKey != null && firstKey != "") {
876
+ let tempBt;
877
+ let x = 0;
878
+ tempBt = bt;
879
+ for (x = 0; x < firstLength; x++) {
880
+ tempBt = enc(tempBt, firstKeyBt[x]);
881
+ }
882
+ encByte = tempBt;
883
+ }
884
+ }
885
+ }
886
+ encData = bt64ToHex(encByte);
887
+ } else {
888
+ const iterator = parseInt(leng / 4);
889
+ const remainder = leng % 4;
890
+ let i = 0;
891
+ for (i = 0; i < iterator; i++) {
892
+ const tempData = data.substring(i * 4 + 0, i * 4 + 4);
893
+ const tempByte = strToBt(tempData);
894
+ let encByte;
895
+ if (
896
+ firstKey != null &&
897
+ firstKey != "" &&
898
+ secondKey != null &&
899
+ secondKey != "" &&
900
+ thirdKey != null &&
901
+ thirdKey != ""
902
+ ) {
903
+ let tempBt;
904
+ let x, y, z;
905
+ tempBt = tempByte;
906
+ for (x = 0; x < firstLength; x++) {
907
+ tempBt = enc(tempBt, firstKeyBt[x]);
908
+ }
909
+ for (y = 0; y < secondLength; y++) {
910
+ tempBt = enc(tempBt, secondKeyBt[y]);
911
+ }
912
+ for (z = 0; z < thirdLength; z++) {
913
+ tempBt = enc(tempBt, thirdKeyBt[z]);
914
+ }
915
+ encByte = tempBt;
916
+ } else {
917
+ if (
918
+ firstKey != null &&
919
+ firstKey != "" &&
920
+ secondKey != null &&
921
+ secondKey != ""
922
+ ) {
923
+ let tempBt;
924
+ let x, y;
925
+ tempBt = tempByte;
926
+ for (x = 0; x < firstLength; x++) {
927
+ tempBt = enc(tempBt, firstKeyBt[x]);
928
+ }
929
+ for (y = 0; y < secondLength; y++) {
930
+ tempBt = enc(tempBt, secondKeyBt[y]);
931
+ }
932
+ encByte = tempBt;
933
+ } else {
934
+ if (firstKey != null && firstKey != "") {
935
+ let tempBt;
936
+ let x;
937
+ tempBt = tempByte;
938
+ for (x = 0; x < firstLength; x++) {
939
+ tempBt = enc(tempBt, firstKeyBt[x]);
940
+ }
941
+ encByte = tempBt;
942
+ }
943
+ }
944
+ }
945
+ encData += bt64ToHex(encByte);
946
+ }
947
+ if (remainder > 0) {
948
+ const remainderData = data.substring(iterator * 4 + 0, leng);
949
+ const tempByte = strToBt(remainderData);
950
+ let encByte;
951
+ if (
952
+ firstKey != null &&
953
+ firstKey != "" &&
954
+ secondKey != null &&
955
+ secondKey != "" &&
956
+ thirdKey != null &&
957
+ thirdKey != ""
958
+ ) {
959
+ let tempBt;
960
+ let x, y, z;
961
+ tempBt = tempByte;
962
+ for (x = 0; x < firstLength; x++) {
963
+ tempBt = enc(tempBt, firstKeyBt[x]);
964
+ }
965
+ for (y = 0; y < secondLength; y++) {
966
+ tempBt = enc(tempBt, secondKeyBt[y]);
967
+ }
968
+ for (z = 0; z < thirdLength; z++) {
969
+ tempBt = enc(tempBt, thirdKeyBt[z]);
970
+ }
971
+ encByte = tempBt;
972
+ } else {
973
+ if (
974
+ firstKey != null &&
975
+ firstKey != "" &&
976
+ secondKey != null &&
977
+ secondKey != ""
978
+ ) {
979
+ let tempBt;
980
+ let x, y;
981
+ tempBt = tempByte;
982
+ for (x = 0; x < firstLength; x++) {
983
+ tempBt = enc(tempBt, firstKeyBt[x]);
984
+ }
985
+ for (y = 0; y < secondLength; y++) {
986
+ tempBt = enc(tempBt, secondKeyBt[y]);
987
+ }
988
+ encByte = tempBt;
989
+ } else {
990
+ if (firstKey != null && firstKey != "") {
991
+ let tempBt;
992
+ let x;
993
+ tempBt = tempByte;
994
+ for (x = 0; x < firstLength; x++) {
995
+ tempBt = enc(tempBt, firstKeyBt[x]);
996
+ }
997
+ encByte = tempBt;
998
+ }
999
+ }
1000
+ }
1001
+ encData += bt64ToHex(encByte);
1002
+ }
1003
+ }
1004
+ }
1005
+ return encData;
1006
+ }
1007
+
1008
+ /*
1009
+ * decrypt the encrypted string to the original string
1010
+ *
1011
+ * return the original string
1012
+ */
1013
+ /**
1014
+ * 解密方法
1015
+ * @param data
1016
+ * @param firstKey
1017
+ * @param secondKey
1018
+ * @param thirdKey
1019
+ * @returns {string|string}
1020
+ */
1021
+ export function strDec(data, firstKey, secondKey, thirdKey) {
1022
+ const leng = data.length;
1023
+ let decStr = "";
1024
+ let firstKeyBt,
1025
+ secondKeyBt,
1026
+ thirdKeyBt,
1027
+ firstLength,
1028
+ secondLength,
1029
+ thirdLength;
1030
+ if (firstKey != null && firstKey != "") {
1031
+ firstKeyBt = getKeyBytes(firstKey);
1032
+ firstLength = firstKeyBt.length;
1033
+ }
1034
+ if (secondKey != null && secondKey != "") {
1035
+ secondKeyBt = getKeyBytes(secondKey);
1036
+ secondLength = secondKeyBt.length;
1037
+ }
1038
+ if (thirdKey != null && thirdKey != "") {
1039
+ thirdKeyBt = getKeyBytes(thirdKey);
1040
+ thirdLength = thirdKeyBt.length;
1041
+ }
1042
+
1043
+ const iterator = parseInt(leng / 16);
1044
+ let i = 0;
1045
+ for (i = 0; i < iterator; i++) {
1046
+ const tempData = data.substring(i * 16 + 0, i * 16 + 16);
1047
+ const strByte = hexToBt64(tempData);
1048
+ const intByte = new Array(64);
1049
+ let j = 0;
1050
+ for (j = 0; j < 64; j++) {
1051
+ intByte[j] = parseInt(strByte.substring(j, j + 1));
1052
+ }
1053
+ let decByte;
1054
+ if (
1055
+ firstKey != null &&
1056
+ firstKey != "" &&
1057
+ secondKey != null &&
1058
+ secondKey != "" &&
1059
+ thirdKey != null &&
1060
+ thirdKey != ""
1061
+ ) {
1062
+ let tempBt;
1063
+ let x, y, z;
1064
+ tempBt = intByte;
1065
+ for (x = thirdLength - 1; x >= 0; x--) {
1066
+ tempBt = dec(tempBt, thirdKeyBt[x]);
1067
+ }
1068
+ for (y = secondLength - 1; y >= 0; y--) {
1069
+ tempBt = dec(tempBt, secondKeyBt[y]);
1070
+ }
1071
+ for (z = firstLength - 1; z >= 0; z--) {
1072
+ tempBt = dec(tempBt, firstKeyBt[z]);
1073
+ }
1074
+ decByte = tempBt;
1075
+ } else {
1076
+ if (
1077
+ firstKey != null &&
1078
+ firstKey != "" &&
1079
+ secondKey != null &&
1080
+ secondKey != ""
1081
+ ) {
1082
+ let tempBt;
1083
+ let x, y;
1084
+ tempBt = intByte;
1085
+ for (x = secondLength - 1; x >= 0; x--) {
1086
+ tempBt = dec(tempBt, secondKeyBt[x]);
1087
+ }
1088
+ for (y = firstLength - 1; y >= 0; y--) {
1089
+ tempBt = dec(tempBt, firstKeyBt[y]);
1090
+ }
1091
+ decByte = tempBt;
1092
+ } else {
1093
+ if (firstKey != null && firstKey != "") {
1094
+ let tempBt;
1095
+ let x;
1096
+ tempBt = intByte;
1097
+ for (x = firstLength - 1; x >= 0; x--) {
1098
+ tempBt = dec(tempBt, firstKeyBt[x]);
1099
+ }
1100
+ decByte = tempBt;
1101
+ }
1102
+ }
1103
+ }
1104
+ decStr += byteToString(decByte);
1105
+ }
1106
+ return decStr;
1107
+ }