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) {
    console.error('解密失败:', error);
    return '';
  }
}