aardio中aes加解密设置为Ecb模式加Pkcs7
编辑时间:2021-09-04 作者:金满斗 浏览量:2054 来源:原创

看到个网站,有好玩的,请求的图片直接是加密过的,然后调用浏览器里的js解密的。

人家的解密算法。

 aesDecrypt(encrypted, key) {
    let decrypted = CryptoJS.AES.decrypt(encrypted, key, {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    });
    decrypted = CryptoJS.enc.Utf8.stringify(decrypted);
    return decrypted;
  },

图片链接是这样的

let jsKey = CryptoJS.enc.Utf8.parse('AZXCD67812345678');

 listener.el.src = "data:image/png;base64," + aesDecrypt(res.data + "", jsKey)

大概就是这个意思吧。

看了下aardio里的例子默认是工作模式CBC,填充模式PKCS5。

看了下源码,初始可以直接设置的。

取数据保存成图片

var aes = crypt.aes();
var pass = "AZXCD67812345678";
aes.setPassword(pass);
aes.setKeyParamMode(2/*_CRYPT_MODE_ECB*/);
aes.setKeyParamPadding(0x10001/*_X509_PKCS_7_ASN_ENCODING*/);
base64 = crypt.bin.decodeBase64(base64);
img = aes.decrypt(base64);
img = crypt.bin.decodeBase64(img);
string.save("\2.png",img);




来说两句吧