diff --git a/src/assets/js/utils/cryptoJsUtil.js b/src/assets/js/utils/cryptoJsUtil.js index 0abd15050..c0e940fc8 100644 --- a/src/assets/js/utils/cryptoJsUtil.js +++ b/src/assets/js/utils/cryptoJsUtil.js @@ -1,6 +1,6 @@ /** - * @author - * @Date create in 2021/10/28 + * @author 李想 + * @Date create in 2021/03/16 */ import { JSEncrypt } from 'jsencrypt' let CryptoJS = require('crypto-js') @@ -51,6 +51,29 @@ export let AESDecrypt = function(encrypted, key) { return decrypted.toString(CryptoJS.enc.Utf8) } +export let AESCacheEncrypt = function(data, keys) { + //加密 緩存 + var key = CryptoJS.enc.Hex.parse(keys) + var iv = CryptoJS.enc.Utf8.parse('0123456789ABCDEF') //偏移量 + var encrypted = CryptoJS.AES.encrypt(data, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }) + return encrypted.toString() +} +export let AESCacheDecrypt = function(encrypted, keys) { + //解密 緩存 + var key = CryptoJS.enc.Hex.parse(keys) + var iv = CryptoJS.enc.Utf8.parse('0123456789ABCDEF') + var decrypted = CryptoJS.AES.decrypt(encrypted, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }) + return CryptoJS.enc.Utf8.stringify(decrypted) +} + function format(base64, isPrivate = 0) { var text = '-----BEGIN ' + (isPrivate ? 'PRIVATE' : 'PUBLIC') + ' KEY-----\n' text += base64.replace(/[^\x00-\xff]/g, '$&\x01').replace(/.{64}\x01?/g, '$&\n')