收藏
回答

「基础库2.22.1」AES 加密 在开发者工具不能解密, 其他版本可以解密

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 微信iOS客户端 8.0.18 2.22.1

2022年3月3日 晚上 7点之前是好的, 下面代码调用 decrypt 开发者工具能解密, 真机不能解密

开发者工具 2.22.1 解密失败 2.22.0 是可以解密成功的


import CryptoJS from "crypto-js";
const Aes = {
  parse: data => {
    return CryptoJS.enc.Utf8.parse(data);
  },


  // AES加密
  encrypt: data => {
    const dataStr = JSON.stringify(data);
    const encrypted = CryptoJS.AES.encrypt(dataStr, Aes.parse(iaweb.key), {
      iv: Aes.parse(iaweb.iv),
      mode: CryptoJS.mode.CBC,
      padding: CryptoJS.pad.ZeroPadding
    });
    return encrypted.toString();
  },


  // AES解密
  decrypt: data => {
    try {
      const decrypted = CryptoJS.AES.decrypt(data, Aes.parse(iaweb.key), {
        iv: Aes.parse(iaweb.iv),
        padding: CryptoJS.pad.ZeroPadding
      });
      return decrypted.toString(CryptoJS.enc.Utf8);
    } catch (e) {
      return data;
    }
  }
};
最后一次编辑于  2022-03-04
回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    2022-03-04

    有报错信息吗

    2022-03-04
    有用
    回复 4
    • Affection
      Affection
      2022-03-04
      我们的小程序一样的问题,一夜之间,测试环境和生产环境都是前端AES解密失败。项目已经运行4年多,已经排查过后端和前端的加密库,前端有一定概率解不出来,一模一样的加密数据,有时解密不出来有时可以解密出来。
      2022-03-04
      回复
    • 残风思维
      残风思维
      2022-03-07
      今天 2.22.1 修复了, 你们基础库是不是修复了这个问题呢
      2022-03-07
      回复
    • 社区技术运营专员--阳光
      社区技术运营专员--阳光
      2022-03-07回复残风思维
      现在正常了吗
      2022-03-07
      回复
    • 残风思维
      残风思维
      2022-03-07回复社区技术运营专员--阳光
      是的, 可以了
      2022-03-07
      回复
登录 后发表内容