/** * Created by HaijunZhang on 2018/11/19. */ import CryptoJS from 'crypto-js' const defaultKey = CryptoJS.enc.Utf8.parse(decryptByBase64('Qm9jbG91ZENNUFY1ODchIQ==')) const iv = CryptoJS.enc.Utf8.parse(decryptByBase64('QmV5b25kQ01QVjU4NyEhIQ==')) const options = { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 } // 加密方法 export function encrypt(word, key = defaultKey) { if (typeof word === 'object') { word = JSON.stringify(word) } const srcs = CryptoJS.enc.Utf8.parse(word) const encrypted = CryptoJS.AES.encrypt(srcs, key, options) return encrypted.toString() } // 解密方法 export function decrypt(word, key = defaultKey) { const decrypt = CryptoJS.AES.decrypt(word, key, options) return decrypt.toString(CryptoJS.enc.Utf8) } // base64解码 function decryptByBase64(word) { const base64string = CryptoJS.enc.Base64.parse(word) return CryptoJS.enc.Utf8.stringify(base64string) } // base64编码 function encryptByBase64(word) { const src = CryptoJS.enc.Utf8.parse(word) const base64string = CryptoJS.enc.Base64.stringify(src) return base64string } export default { encrypt, decrypt, encryptByBase64, decryptByBase64 }