@ylz/plugins
Version:
ylz plugins
30 lines (28 loc) • 796 B
JavaScript
import CryptoJS from 'crypto-js'
export class Encryption {
constructor({ key, iv } = {}) {
this.key = CryptoJS.enc.Utf8.parse(key)
this.iv = CryptoJS.enc.Utf8.parse(iv)
}
// aes加密
encryptByAES(str) {
const encrypted = CryptoJS.AES.encrypt(str, this.key, {
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
iv: this.iv
})
return encrypted.toString()
}
// aes解密
decryptByAES(str) {
// const WordArray = CryptoJS.enc.Hex.parse(str)
// const base64str = CryptoJS.enc.Base64.stringify(WordArray)
const decrypted = CryptoJS.AES.decrypt(str, this.key, {
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
iv: this.iv
})
return decrypted.toString(CryptoJS.enc.Utf8)
}
}
export default Encryption