crypto-js是谷歌开发的一个纯JavaScript的加密算法类库,可以非常方便的在前端进行其所支持的加解密操作。目前crypto-js已支持的算法有:MD5、SHA-1、SHA-256、AES、RSA、Rabbit、MARC4、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2等。使用时可以引用总文件,也可以单独引用某一文件。我们可以采用 npm install crypto-js --save 进行下载安装,也可以直接去 GitHub下载源码~

js  AES 加密
function aseEncrypt(word, autoKey) {
    const keyAes = CryptoJS.enc.Utf8.parse(autoKey); 
    const ivAes = CryptoJS.enc.Utf8.parse(autoKey); 
    let srcs = CryptoJS.enc.Utf8.parse(word);
    let encrypted = CryptoJS.AES.encrypt(srcs, keyAes, { 
      iv: ivAes,
      mode: CryptoJS.mode.CBC,
      padding: CryptoJS.pad.ZeroPadding
    });
    return encrypted.ciphertext.toString();
}


AES 解密
function aseDecrypt(word, autoKey) {
    const keyAes = CryptoJS.enc.Utf8.parse(autoKey); 
    const ivAes = CryptoJS.enc.Utf8.parse(autoKey); 
    let encryptedHexStr = CryptoJS.enc.Hex.parse(word); 
    let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
    let decrypt = CryptoJS.AES.decrypt(srcs, keyAes, {
      iv: ivAes,
      mode: CryptoJS.mode.CBC,
      padding: CryptoJS.pad.ZeroPadding
    });
    let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
    return decryptedStr.toString();
  }