// 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
|
}
|
}
|