import CryptoJS from 'crypto-js' const KEY = process.env.VUE_APP_ENCRYPT_REQUEST_KEY const IV = process.env.VUE_APP_ENCRYPT_REQUEST_IV export default { /** * 加密 * * @param plaintext 明文 * @returns {string} */ encrypt (plaintext) { const key = CryptoJS.enc.Utf8.parse(KEY) const secretData = CryptoJS.enc.Utf8.parse(plaintext) const encrypted = CryptoJS.AES.encrypt( secretData, key, { iv: CryptoJS.enc.Utf8.parse(IV), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 } ) return encrypted.toString() }, /** * 解密 * * @param cipherText 密文 * @returns {*} */ decrypt (cipherText) { const key = CryptoJS.enc.Utf8.parse(KEY) const decrypt = CryptoJS.AES.decrypt( cipherText, key, { iv: CryptoJS.enc.Utf8.parse(IV), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 } ) return CryptoJS.enc.Utf8.stringify(decrypt).toString() } }