From 05b284f1ee45dc8bcff1c37fc9386a4fe09ce40f Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 13 七月 2023 09:47:30 +0800
Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs
---
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