import CryptoJS from 'crypto-js' class UseCrypto { /** * 加密 * @param data 加密源数据 * @param key 加密标识 * @return 返回 加密后的值 */ encrypt(data: any, key = 'DefChigga') { return CryptoJS.AES.encrypt(JSON.stringify(data), key).toString() } /** * 解密 * @param cryptData 加密过需要解密的数据 * @param key 加密标识 * @return 返回 解密后的值 相当于 加密传入的data */ decrypt(cryptData: any, key = 'DefChigga') { const bytes = CryptoJS.AES.decrypt(cryptData, key) return JSON.parse(bytes.toString(CryptoJS.enc.Utf8)) } } export const useCrypto = new UseCrypto() /* 使用: import { useCrypto } from '@/utils' // 加密 let data1 = useCrypto.encrypt(loginForm.value.password, 'user') // data1为加密后的值 // 解密 let data2 = useCrypto.decrypt(newData, 'user') // data2为解密后的值(相当于loginForm.value.password原始值) */