const CRYPTOJSKEY = '7LrjnqHv2mS5Qr5s' import CryptoJS from 'crypto-js' export function encrypt(plaintText) { var plaintText = plaintText var options = { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 } var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY) var encryptedData = CryptoJS.AES.encrypt(plaintText, key, options) var encryptedBase64Str = encryptedData.toString().replace(/\//g, '_') encryptedBase64Str = encryptedBase64Str.replace(/\+/g, '-') return encryptedBase64Str } export function decrypt(encryptedText) { // 还原 URL 安全字符 let encryptedBase64Str = encryptedText .replace(/_/g, '/') // 还原 _ .replace(/-/g, '+') // 还原 - // 补充末尾的 =(如果需要) const mod4 = encryptedBase64Str.length % 4 if (mod4) { encryptedBase64Str += '='.repeat(4 - mod4) } try { const key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY) const decrypt = CryptoJS.AES.decrypt(encryptedBase64Str, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }) return CryptoJS.enc.Utf8.stringify(decrypt).toString() } catch (e) { console.error('解密失败:', e) return null } }