(20)VUE中使用AES加密

安装crypto.js $npm install crypto-js --save-dev

项目中创建encryption.js文件


image.png
import CryptoJS from 'crypto-js/crypto-js'

//  KEY 和 iv 是后端给我的
const aseKey = '757da2be61249c188319a9269f1a6ccb';
const iv = '4490d2ded4f2d4ad';
// 使用的是ECB模式
export default {
  Encrypt(data) {
    var key = CryptoJS.enc.Utf8.parse(aseKey);
    var ivs = CryptoJS.enc.Utf8.parse(iv);
    var encrypted = CryptoJS.AES.encrypt(data, key, {
      iv: ivs,
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    });
    return encrypted.toString();
  },
  Decrypt(data) {
    var key = CryptoJS.enc.Utf8.parse(aseKey);
    var ivs = CryptoJS.enc.Utf8.parse(iv);

    var decrypt = CryptoJS.AES.decrypt(data, key, {
      iv: ivs,
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    });
    var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
    return decryptedStr.toString();
  }
} 

在需要使用的组件导入

import encryption from '../../../../utils/encryption.js';
// 加密
let a = encryption.Encrypt('123456');
console.log('加密',a);
// 解密
let b = encryption.Decrypt(a);
console.log('解密', b);

你可能感兴趣的:((20)VUE中使用AES加密)