From ae6d20ec4a30b7e796feb05958bcfc80e55f247b Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 20 七月 2023 15:21:45 +0800
Subject: [PATCH] 整合代码部署

---
 Source/UBCS-WEB/dist/src/util/crypto.js |   80 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 80 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS-WEB/dist/src/util/crypto.js b/Source/UBCS-WEB/dist/src/util/crypto.js
new file mode 100644
index 0000000..be5daeb
--- /dev/null
+++ b/Source/UBCS-WEB/dist/src/util/crypto.js
@@ -0,0 +1,80 @@
+import CryptoJS from 'crypto-js'
+
+export default class crypto {
+  // 浣跨敤AesUtil.genAesKey()鐢熸垚,闇�鍜屽悗绔厤缃繚鎸佷竴鑷�
+  static aesKey = "O2BEeIv399qHQNhD6aGW8R8DEj4bqHXm";
+
+  // 浣跨敤DesUtil.genDesKey()鐢熸垚,闇�鍜屽悗绔厤缃繚鎸佷竴鑷�
+  static desKey = "jMVCBsFGDQr1USHo";
+
+  /**
+   * aes 鍔犲瘑鏂规硶
+   * @param data
+   * @returns {*}
+   */
+  static encrypt(data) {
+    return this.encryptAES(data, this.aesKey);
+  }
+
+  /**
+   * aes 瑙e瘑鏂规硶
+   * @param data
+   * @returns {*}
+   */
+  static decrypt(data) {
+    return this.decryptAES(data, this.aesKey);
+  }
+
+  /**
+   * aes 鍔犲瘑鏂规硶锛屽悓java锛欰esUtil.encryptToBase64(text, aesKey);
+   */
+  static encryptAES(data, key) {
+    const dataBytes = CryptoJS.enc.Utf8.parse(data);
+    const keyBytes = CryptoJS.enc.Utf8.parse(key);
+    const encrypted = CryptoJS.AES.encrypt(dataBytes, keyBytes, {
+      iv: keyBytes,
+      mode: CryptoJS.mode.CBC,
+      padding: CryptoJS.pad.Pkcs7
+    });
+    return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
+  }
+
+  /**
+   * aes 瑙e瘑鏂规硶锛屽悓java锛欰esUtil.decryptFormBase64ToString(encrypt, aesKey);
+   */
+  static decryptAES(data, key) {
+    const keyBytes = CryptoJS.enc.Utf8.parse(key);
+    const decrypted = CryptoJS.AES.decrypt(data, keyBytes, {
+      iv: keyBytes,
+      mode: CryptoJS.mode.CBC,
+      padding: CryptoJS.pad.Pkcs7
+    });
+    return CryptoJS.enc.Utf8.stringify(decrypted);
+  }
+
+  /**
+   * des 鍔犲瘑鏂规硶锛屽悓java锛欴esUtil.encryptToBase64(text, desKey)
+   */
+  static encryptDES(data, key) {
+    const keyHex = CryptoJS.enc.Utf8.parse(key);
+    const encrypted = CryptoJS.DES.encrypt(data, keyHex, {
+      mode: CryptoJS.mode.ECB,
+      padding: CryptoJS.pad.Pkcs7
+    });
+    return encrypted.toString();
+  }
+
+  /**
+   * des 瑙e瘑鏂规硶锛屽悓java锛欴esUtil.decryptFormBase64(encryptBase64, desKey);
+   */
+  static decryptDES(data, key) {
+    const keyHex = CryptoJS.enc.Utf8.parse(key);
+    const decrypted = CryptoJS.DES.decrypt({
+      ciphertext: CryptoJS.enc.Base64.parse(data)
+    }, keyHex, {
+      mode: CryptoJS.mode.ECB,
+      padding: CryptoJS.pad.Pkcs7
+    });
+    return decrypted.toString(CryptoJS.enc.Utf8);
+  }
+}

--
Gitblit v1.9.3