29 lines
839 B
JavaScript
29 lines
839 B
JavaScript
import CryptoJS from 'crypto-js'
|
|
|
|
|
|
export function aesEncrypt(_KEY, _IV, str) {
|
|
var key = CryptoJS.enc.Utf8.parse(_KEY);
|
|
var iv = CryptoJS.enc.Utf8.parse(_IV);
|
|
var encrypted = '';
|
|
var srcs = CryptoJS.enc.Utf8.parse(str);
|
|
encrypted = CryptoJS.AES.encrypt(srcs, key, {
|
|
iv: iv,
|
|
mode: CryptoJS.mode.CBC,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
});
|
|
return encrypted.ciphertext.toString();
|
|
}
|
|
|
|
export function aesDecrypt(_key, _iv, str) {
|
|
var key = CryptoJS.enc.Utf8.parse(_key);
|
|
var iv = CryptoJS.enc.Utf8.parse(_iv);
|
|
var encryptedHexStr = CryptoJS.enc.Hex.parse(str);
|
|
var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
|
|
var decrypt = CryptoJS.AES.decrypt(srcs, key, {
|
|
iv: iv,
|
|
mode: CryptoJS.mode.CBC,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
});
|
|
var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
|
|
return decryptedStr.toString();
|
|
} |