'getKeys'(){  
  var _0x26ded5='55cc5c42a943afdc';  
  var _0x590aa3='d11324dcscfe16c0';  
  return[CryptoJS.enc.Utf8.parse(_0x26ded5),CryptoJS.enc.Utf8.parse(_0x590aa3)];  
},'decryptPackData'(_0x671add){  
  let[_0x51c696,_0x48abff]=this.getKeys();  
  var _0x95e934=CryptoJS.enc.Hex.parse(_0x671add);  
  var _0x2864b7=CryptoJS.enc.Base64.stringify(_0x95e934);  
  const _0x175606=CryptoJS.AES.decrypt(_0x2864b7,_0x51c696,{'iv':_0x48abff,'mode':CryptoJS.mode.CBC,'padding':CryptoJS.pad.Pkcs7});  
  return _0x175606.toString(CryptoJS.enc.Utf8);  
},'encryptPackData'(_0x16eb06){  
  let[_0x2a1d3b,_0x56663e]=this.getKeys();  
  var _0x2cd5c3=CryptoJS.enc.Utf8.parse(_0x16eb06);  
  const _0x1924c3=CryptoJS.AES.encrypt(_0x2cd5c3,_0x2a1d3b,{'iv':_0x56663e,'mode':CryptoJS.mode.CBC,'padding':CryptoJS.pad.Pkcs7});  
  return _0x1924c3.ciphertext.toString().toUpperCase();  
}

这段代码展示了使用 CryptoJS 库实现 JavaScript 加密解密功能的示例代码。代码包含 getKeysdecryptPackDataencryptPackData 函数,分别用于获取密钥、解密数据和加密数据。

代码解析:

  • getKeys 函数:获取加密密钥和初始化向量 (IV)。
  • decryptPackData 函数:使用 CryptoJS.AES.decrypt 函数解密数据。数据首先使用 CryptoJS.enc.Hex.parse 函数解析为十六进制格式,然后使用 CryptoJS.enc.Base64.stringify 函数转换为 Base64 格式。解密过程使用 CBC 模式和 Pkcs7 填充。
  • encryptPackData 函数:使用 CryptoJS.AES.encrypt 函数加密数据。数据首先使用 CryptoJS.enc.Utf8.parse 函数解析为 UTF-8 格式。加密过程使用 CBC 模式和 Pkcs7 填充。

注意:

  • 这段代码仅供参考,实际使用时需要根据具体需求进行调整。
  • 为了安全起见,建议不要使用硬编码的密钥,而是使用更安全的密钥管理机制。
  • 使用 CryptoJS 库需要确保其已经包含在项目中。

示例使用:

// 加密数据
const encryptedData = encryptPackData('Hello World!');

// 解密数据
const decryptedData = decryptPackData(encryptedData);

console.log(decryptedData); // 输出 'Hello World!' 
JavaScript 加密解密函数 - 使用 CryptoJS 库

原文地址: https://www.cveoy.top/t/topic/l0iR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录