(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);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。