Blame view

src/utils/crypto.js 906 Bytes
yuanshuhui authored
1
2
3
4
5
6
7
8
9
10
11
12
13
import CryptoJS from 'crypto-js'

//秘钥,必须由16位字符组成
let secretKey = "cshuahengjiqiren"
export const AESUtil = {
  /**
   * AES加密方法
   * @param content 要加密的字符串
   * @returns {string} 加密结果
   */
  aesEncrypt: (content) => {
    let key = CryptoJS.enc.Utf8.parse(secretKey);
    let srcs = CryptoJS.enc.Utf8.parse(content);
yuanshuhui authored
14
15
16
17
    let encrypted = CryptoJS.AES.encrypt(srcs, key, {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    });
yuanshuhui authored
18
19
20
21
22
23
24
25
26
27
    return encrypted.toString();
  },

  /**
   * 解密方法
   * @param encryptStr 密文
   * @returns {string} 明文
   */
  aesDecrypt: (encryptStr) => {
    let key = CryptoJS.enc.Utf8.parse(secretKey);
yuanshuhui authored
28
29
30
31
    let decrypt = CryptoJS.AES.decrypt(encryptStr, key, {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    });
yuanshuhui authored
32
33
    return CryptoJS.enc.Utf8.stringify(decrypt).toString();
  }
yuanshuhui authored
34
}