cloud-platform-YN/src/utils/handleAes.js
2025-09-12 17:46:36 +08:00

48 lines
1.0 KiB
JavaScript

import CryptoJS from './crypto-js.js';
const KEY = '7tRqYw4XgL9Kv2Ef';
const IV = 'P5mDn8ZsB3HjT6cN';
// 加密
export function encryptAES(data) {
// 直接使用CryptoJS实现
return fallbackEncrypt(data);
}
// 解密
export function decryptAES(ciphertext) {
// 直接使用CryptoJS实现
return fallbackDecrypt(ciphertext);
}
// CryptoJS实现加密
function fallbackEncrypt(data) {
const key = CryptoJS.enc.Utf8.parse(KEY);
const iv = CryptoJS.enc.Utf8.parse(IV);
const encrypted = CryptoJS.AES.encrypt(data, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
});
return encrypted.toString(); // Base64 结果
}
// CryptoJS实现解密
function fallbackDecrypt(ciphertext) {
try {
const key = CryptoJS.enc.Utf8.parse(KEY);
const iv = CryptoJS.enc.Utf8.parse(IV);
const decrypted = CryptoJS.AES.decrypt(ciphertext, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
});
return decrypted.toString(CryptoJS.enc.Utf8);
} catch (error) {
return '';
}
}