关于AES加密解密

本文详细介绍了一种基于CryptoJS库的AES加密和解密方法,包括如何在main.js中引入并挂载加密函数,以及如何调用这些函数进行字符串加密和解密。通过具体示例,展示了使用特定的key和iv进行加密和解密的过程。

1. 调用方法:this.$aes.Encrypt('需要加密的密码','1234567887654321','1234567887654321');

 

2. main.js中引入及挂载:

1). import aes from '函数所在地址';

2). Vue.prototype.$aes = aes;

 

3. 函数

// AES加密 :字符串 key iv 返回base64
Encrypt(word, keyStr, ivStr) {
      let key = '';
      let iv = ''

      if (keyStr) {
            key = CryptoJS.enc.Latin1.parse(keyStr);
            iv = CryptoJS.enc.Latin1.parse(ivStr);
      }
      let srcs = CryptoJS.enc.Utf8.parse(word);
      let encrypted = CryptoJS.AES.encrypt(srcs, key, {iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding});
      let ss=encrypted.toString();
      //let hexStr = encrypted.ciphertext.toString().toUpperCase();
      let hexStr = encrypted.toString();
      return hexStr
}


// AES 解密 :字符串 key iv 返回base64
Decrypt(word, keyStr, ivStr) {
      let key = ''
      let iv = ''

      if (keyStr) {
            key = CryptoJS.enc.Latin1.parse(keyStr);
            iv = CryptoJS.enc.Latin1.parse(ivStr);
      }

      //let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
      //let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
      let decrypt = CryptoJS.AES.decrypt(word, key, {iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding});
      let decryptedStr= decrypt.toString(CryptoJS.enc.Utf8);
      return decryptedStr.toString();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值