田源
2024-07-18 e977b8737d88aa1bd0286fe27bf4fd22cb2501d9
Source/plt-web/plt-web-ui/src/util/func.js
@@ -1,6 +1,8 @@
/**
 * 通用工具类
 */
import CryptoJS from 'crypto-js'
export default class func {
  /**
   * 不为空
@@ -184,5 +186,50 @@
      return item[attr] !== array[0][attr];
    });
  }
  /**
   * 3des加密
   * @param message
   * @param key
   * @returns {string}
   */
  encryptByDES(message, key) {
    const keyHex = CryptoJS.enc.Utf8.parse(key);
    const encrypted = CryptoJS.DES.encrypt(message, keyHex, {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    });
    return encrypted.toString();
}
  /**
   * HmacMD5加密
   * @param message
   * @param key
   * @returns {string}
   * @constructor
   */
  static HmacMD5(message, key) {
    const encrypted = CryptoJS.HmacMD5(message,key);
    return encrypted.toString();
  }
  /**
   * aes加密
   * @param data
   * @param secretKey
   * @returns {string}
   */
  static encryptData(data, secretKey) {
    const key = CryptoJS.enc.Utf8.parse(secretKey);
    const iv = CryptoJS.enc.Utf8.parse(secretKey.substr(0, 16)); // AES block size is 128 bits (16 bytes)
    const encrypted = CryptoJS.AES.encrypt(data, key, {
      iv: iv,
      mode: CryptoJS.mode.CBC,
      padding: CryptoJS.pad.Pkcs7
    });
    return encrypted.toString();
  }
}