30 lines
879 B
JavaScript
30 lines
879 B
JavaScript
// 加解密方法
|
||
import CryptoJS from 'crypto-js'
|
||
|
||
// const key = 'zhst@bonus@zhst@bonus@1234567890' // 加密密钥
|
||
const key = 'jjbns@jysoft1088' // 加密密钥
|
||
const utf8Key = CryptoJS.enc.Utf8.parse(key)
|
||
|
||
// AES 加密(UTF-8 处理)
|
||
export const encrypt = (message) => {
|
||
const utf8Message = CryptoJS.enc.Utf8.parse(message)
|
||
const encrypted = CryptoJS.AES.encrypt(utf8Message, utf8Key, {
|
||
mode: CryptoJS.mode.ECB,
|
||
padding: CryptoJS.pad.Pkcs7,
|
||
})
|
||
return encrypted.toString()
|
||
}
|
||
|
||
// AES 解密
|
||
export const decrypt = (encryptedBase64) => {
|
||
try {
|
||
const decrypted = CryptoJS.AES.decrypt(encryptedBase64, utf8Key, {
|
||
mode: CryptoJS.mode.ECB,
|
||
padding: CryptoJS.pad.Pkcs7,
|
||
})
|
||
return JSON.parse(CryptoJS.enc.Utf8.stringify(decrypted))
|
||
} catch (error) {
|
||
return encryptedBase64
|
||
}
|
||
}
|