import * as CryptoJS from 'crypto-ts' const AES_KEY = 'mt' export const cryptoEncode = (data: string): string => { if (typeof data !== 'string') return '' // 加密 const key = CryptoJS.enc.Utf8.parse(AES_KEY) const str = JSON.stringify(data) const encryptedData = CryptoJS.AES.encrypt(str, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.PKCS7, iv: CryptoJS.enc.Utf8.parse(AES_KEY) }) return encryptedData.toString() } // 解密 export const cryptoDecode = (data: string): string => { if (typeof data !== 'string') return '' const encryptedHexStr = CryptoJS.enc.Utf8.parse(data) const encryptedBase64Str = CryptoJS.enc.Utf8.stringify(encryptedHexStr) const key = CryptoJS.enc.Utf8.parse(AES_KEY) const decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.PKCS7, iv: CryptoJS.enc.Utf8.parse(AES_KEY) }) return decryptedData.toString(CryptoJS.enc.Utf8) }