在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Python  HTML/ 前端js使用crypto-js進(jìn)行aes解密,解密內(nèi)容為空

前端js使用crypto-js進(jìn)行aes解密,解密內(nèi)容為空

getCode() {
      let data = 'qN49G7bBKHBJpl3mTfwyYA=='
      let key = 'bluedon'
      let iv = '0102030405060708'

      let str = this.getDAesString(data, key, iv)
      this.$message.success(str)
    },
    getDAesString(encrypted, key, iv) {
      // 解密
      var ikey = CryptoJS.enc.Utf8.parse(key)
      var iiv = CryptoJS.enc.Utf8.parse(iv)
      var decrypted = CryptoJS.AES.decrypt(encrypted, ikey, {
        iv: iiv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
      })
      console.log(decrypted.toString(CryptoJS.enc.Utf8))
      return decrypted.toString(CryptoJS.enc.Utf8) //
    }

項(xiàng)目是vue寫(xiě)的,這樣解密出來(lái)的console.log為空,看了很多遍,這個(gè)密文和key/iv值在在線網(wǎng)站上都能轉(zhuǎn)出來(lái),但是我偏偏拿不到結(jié)果,看網(wǎng)上都是這么寫(xiě)的。

回答
編輯回答
厭惡我

我解密為空的原因是因?yàn)槊荑€長(zhǎng)度的問(wèn)題。對(duì)長(zhǎng)度有要求的

2017年8月21日 05:19
編輯回答
離夢(mèng)
import CryptoJS from "crypto-js";
 //秘鑰
const CRYPTOJSKEY= "abcdefghighkml";
 
export default {
  
  //加密
  /*
  * {param} plaintText 加密明文
  * return  str 加密結(jié)果
  */
  encrypt(plaintText) {
    var plaintText = plaintText;
    var options = {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    };
    var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY);
    var encryptedData = CryptoJS.AES.encrypt(plaintText, key, options);
    var encryptedBase64Str = encryptedData.toString();
    return encryptedBase64Str;
  },
  //解密
  /*
  * {param} plaintText 解密密文
  
  * return  str 解密結(jié)果
  */
  decrypt(encryptedBase64Str, type) {
   
    var encryptedBase64Str = encryptedBase64Str;
    var options = {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    };
    var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY);
    // 解密
    var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, options);
    // 解密后,需要按照Utf8的方式將明文轉(zhuǎn)位字符串
    var decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8);
    return decryptedStr ;
  }
};

使用

 //引入
 import Util from "util";
 //加密
 let userPwd = Util.encrypt('123456');
2017年4月16日 06:58