| // AES | 
| import CryptoJS from 'crypto-js' | 
| import JSEncrypt from 'jsencrypt' | 
| import { | 
|   generateRandomObj, | 
|   rsaPassWord | 
| } from './encrypt.js' | 
| // 私钥 | 
| // const privateKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJkOgs/FrhpXs3QzdhiQ9eFdK7HECPNPadhecJA5SU2kEx+FlRnbA7Z9/Tqg9RYV4zuuxp3cYp9fa8AywRzVIHYLCokt39bUYIsEVJQdh4KRr1usl/x8Wv24GjcnuDlsLnwAgSsqNcVM/4XhtaeqyrmNMEbT7YqxJjBGJNamwSfXAgMBAAECgYADkiQZJtqGAM/OATlbH16tMFhJoHI5AvxMMP/dTYjZR9+uV5Z/8O0oP849pO2y4zXW+Z/mpPKkFzzTUhvRSWOldBFOmjktPdCBA8NuyFT3+dlew202pEbjDxdnTjb+GTNnli0cHoILsJGoqEeCCddNbtlidv0kFQWubbgfuSNf2QJBAOHmb9v36hnmcH3eLEo2wy7bEE30q+UoUGzAlLw2Tv/APh82NV6VVB11duYDeifAE0wJFtImp9zEDrVcmiN5PNMCQQCtc1kwdP15Dfj+miTkmjKbsona3+m06XQ0VbeUelQ07VtAG9zpkaza7c8JEA15cOcxHECFG5f2E4f3KBl543ZtAkBBtj6jxiIbFqVyd8Z6cCOm5aKAisPWDTwX5o1dko64ZruraKFtuhKV3y2PC0PlfEIgxCQXTZdW6NE+gIl1+DZxAkAsC3iAh5S+IsAx1u67ZjSnuOSsweNU31t01rdxasbrUcK0Ot8UKLveNDk4sezaA8ORgv0XT/R8tmT2bCZb/1jZAkBUqgcdO5b9YM9wumvKIDHhKuIobrRYlIhSfh36Iaor0VO9a+Xl0c5lwmZmZDyZHE/mfhuVkjdifOwEeORnWPs7"; | 
| // const privateKey = uni.getStorageSync('aes_private_key') | 
|   | 
| export function decryptedData (msg, data) { | 
|   // 变换key:将当月位数字符串去除,然后倒序 | 
|   const monthIndex = new Date().getMonth() + 1 | 
|   const msgStr = msg.slice(0, monthIndex) + msg.slice(monthIndex + 1) | 
|   const reverseMsgStr = msgStr.split('').reverse().join('') | 
|   const str1 = data.replace(/\s/g, '') | 
|   // 解密并返回结果 | 
|   return ( | 
|     JSON.parse( | 
|       CryptoJS.AES.decrypt({ | 
|         ciphertext: CryptoJS.enc.Base64.parse(str1) | 
|       }, | 
|       CryptoJS.enc.Utf8.parse(reverseMsgStr), { | 
|         mode: CryptoJS.mode.ECB, | 
|         padding: CryptoJS.pad.Pkcs7, | 
|         iv: CryptoJS.enc.Utf8.parse('AES/CBC/PKCS5Padding') | 
|       } | 
|       ).toString(CryptoJS.enc.Utf8) | 
|     ) || {} | 
|   ) | 
| } | 
|   | 
| // 对数据加密 | 
| export function encryptData (data) { | 
|   const str = CryptoJS.AES.encrypt( | 
|     JSON.stringify(data), | 
|     CryptoJS.enc.Utf8.parse(generateRandomObj), { | 
|       mode: CryptoJS.mode.ECB, | 
|       padding: CryptoJS.pad.Pkcs7, | 
|       iv: CryptoJS.enc.Utf8.parse('AES/CBC/PKCS5Padding') | 
|     } | 
|   ).toString() | 
|   return { | 
|     data: str, | 
|     ivKey: rsaPassWord | 
|   } | 
| } |