import CryptoJS from 'crypto-js'
|
export default {
|
// 加密
|
encrypt(word) {
|
let key = 'AD42F7787B035B7580000EF93BE20BAD'
|
let iv = 'AD42F7787B035B75'
|
|
key = CryptoJS.enc.Utf8.parse(key)
|
iv = CryptoJS.enc.Utf8.parse(iv)
|
|
const srcs = CryptoJS.enc.Utf8.parse(word)
|
// 加密模式为CBC,补码方式为PKCS5Padding(也就是PKCS7)
|
const encrypted = CryptoJS.AES.encrypt(srcs, key, {
|
iv: iv,
|
mode: CryptoJS.mode.CBC,
|
padding: CryptoJS.pad.Pkcs7
|
})
|
|
// 返回base64
|
return CryptoJS.enc.Base64.stringify(encrypted.ciphertext)
|
},
|
// 解密
|
decrypt(word, keyStr, ivStr) {
|
keyStr = keyStr || 'AD42F7787B035B7580000EF93BE20BAD'
|
ivStr = ivStr || 'AD42F7787B035B75'
|
var key = CryptoJS.enc.Utf8.parse(keyStr)
|
const iv = CryptoJS.enc.Utf8.parse(ivStr)
|
|
var decrypt = CryptoJS.AES.decrypt(word, key, {
|
iv,
|
mode: CryptoJS.mode.CBC,
|
padding: CryptoJS.pad.ZeroPadding
|
})
|
return decrypt.toString(CryptoJS.enc.Utf8)
|
}
|
}
|