import CryptoJS from 'crypto-js' export default { // 加密 encrypt(word) { let key = 'AD42F7787B035B7580000EF93BE20BAD' let iv = 'AD42F7787B035B75' key = CryptoJS.enc.Utf8.parse(key) iv = CryptoJS.enc.Utf8.parse(iv) const srcs = CryptoJS.enc.Utf8.parse(word) // 加密模式为CBC,补码方式为PKCS5Padding(也就是PKCS7) const encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }) // 返回base64 return CryptoJS.enc.Base64.stringify(encrypted.ciphertext) }, // 解密 decrypt(word, keyStr, ivStr) { keyStr = keyStr || 'AD42F7787B035B7580000EF93BE20BAD' ivStr = ivStr || 'AD42F7787B035B75' var key = CryptoJS.enc.Utf8.parse(keyStr) const iv = CryptoJS.enc.Utf8.parse(ivStr) var decrypt = CryptoJS.AES.decrypt(word, key, { iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }) return decrypt.toString(CryptoJS.enc.Utf8) } }