猿问

前端js使用crypto-js进行aes解密,解密内容为空

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) //

    }

项目是vue写的,这样解密出来的console.log为空,看了很多遍,这个密文和key/iv值在在线网站上都能转出来,但是我偏偏拿不到结果,看网上都是这么写的。


翻阅古今
浏览 3635回答 3
3回答

森栏

我解密为空的原因是因为密钥长度的问题。对长度有要求的
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答