使用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解析获得):
你好,解密失败,请检查是否先进行base64decode再进行rsa私钥解密,再进行DecryptMsg调用,建议用demo尝试解密
已解决,设置运行编码环境为UTF-8 就好了