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