收藏
回答

企业微信会话内容存档解析聊天内容出现部分字符乱码

使用Finance.DecryptData解密后,然后调用Finance.GetContentFromSlice 获取的聊天内容有部分字符乱码;

linux java v1.0 版本sdk [ 下载 SDK v1.0 ],libWeWorkFinanceSdk_Java.so

使用jdk1.7编译,linux运行环境;

代码:

long sli = 0;
try {
   sli = Finance.NewSlice();
   if (sli == 0) {
      throw new Exception("NewSlice err");
   }
   ret = Finance.DecryptData(chatFinance.sdk, decrypted, encrypt_chat_msg, sli);
   if (ret == 0) {
      String s = Finance.GetContentFromSlice(sli);
      byte[] b = s.getBytes();
      RandomAccessFile f = AccessFile.NewWriteFile("./java.txt");
      f.write(b);
      f.close();
   } else {
      throw new Exception("解密消息失败");
   }
} catch (Exception e) {
   CommUtil.WriteLog(Constant.NORMAL_ERROR, e.toString());
}

乱码聊天内容截图:



正常聊天内容截图(该内容为c版本的sdk解析获得):


最后一次编辑于  2020-09-29
回答关注问题邀请回答
收藏

2 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2020-09-29

    你好,解密失败,请检查是否先进行base64decode再进行rsa私钥解密,再进行DecryptMsg调用,建议用demo尝试解密

    2020-09-29
    有用
    回复 1
    • 虎子
      虎子
      2020-09-30
      已解决,不是解密的问题,是运行编码环境的问题,把java启动程序的环境设置为 UTF-8编码就好了
      2020-09-30
      回复
  • 虎子
    虎子
    2020-09-30

    已解决,设置运行编码环境为UTF-8 就好了

    2020-09-30
    有用 3
    回复
登录 后发表内容
问题标签