在企业微信会话存档解密中,腾讯官方文档是这样说明的:

encrypt_random_key内容解密说明:
encrypt_random_key是使用企业在管理端填写的公钥(使用模值为2048bit的秘钥),采用RSA加密算法进行加密处理后base64 encode的内容,加密内容为企业微信产生。RSA使用PKCS1。
企业得到消息内容后,需先进行base64 decode,使用消息指明版本的私钥,使用RSA PKCS1算法进行解密,得到解密内容,为下一步进行消息明文解析做准备。

对于解密不熟悉的人看了后 满脸问号???  什么意思,我该怎么搞?sdk FinanceDemo 文件中也没有展示这里该怎么解密。然后无从下手,网上文档也很少!!!  稀碎

翻译一下上面的

需要对接收到的消息中encrypt_random_key进行base64 decode, 然后使用对应的私钥,使用rsa PKCS1算法进行解密。

具体该怎么弄,废话不多说了,直接干

为了方便先在http://tool.chacuo.net/cryptrsapubkey 这个网址上生成2048位 PKCS1秘钥对 方便验证

用此方法先获取秘钥
public static PrivateKey getPrivateKey(String privKeyPEM) throws Exception{String privKeyPEMnew = privKeyPEM.replaceAll("\\n", "").replace("-----BEGIN RSA PRIVATE KEY-----", "").replace("-----END RSA PRIVATE KEY-----", "");byte[] bytes = java.util.Base64.getDecoder().decode(privKeyPEMnew);DerInputStream derReader = new DerInputStream(bytes);DerValue[] seq = derReader.getSequence(0);BigInteger modulus = seq[1].getBigInteger();BigInteger publicExp = seq[2].getBigInteger();BigInteger privateExp = seq[3].getBigInteger();BigInteger prime1 = seq[4].getBigInteger();BigInteger prime2 = seq[5].getBigInteger();BigInteger exp1 = seq[6].getBigInteger();BigInteger exp2 = seq[7].getBigInteger();BigInteger crtCoef = seq[8].getBigInteger();RSAPrivateCrtKeySpec keySpec = new RSAPrivateCrtKeySpec(modulus, publicExp, privateExp, prime1, prime2, exp1, exp2, crtCoef);KeyFactory keyFactory = KeyFactory.getInstance("RSA");PrivateKey privateKey = keyFactory.generatePrivate(keySpec);return privateKey;
}

然后 对 encrypt_random_key 进行解密

Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, privateKey);/getPrivateKey()返回的privateKeybyte[] randomkeybyte = Base64.getDecoder().decode(encrypt_random_key );
byte[] finalrandomkeybyte = cipher.doFinal(randomkeybyte);
String finalrandomkey = new String(finalrandomkeybyte);
最后调用微信接口解密就行
DecryptData(finalrandomkey,encrypt_chat_msg);

企业微信会话存档解密相关推荐

  1. 企业微信会话存档-一个文件下载,吹牛2小时完成,结果写了2星期?

    需求: 获取聊天记录里产生的文件,下载并保存,存储到文件服务器(用oss表示)中 过程: 看起来很简单,直接干: 初步思路: 请求企业微信文件下载接口,先下载到本地 从本地读取文件,上传到oss 看起 ...

  2. Java企业微信会话存档开发(从跳坑到爬坑)

    Java企业微信会话存档开发(从跳坑到爬坑) 本文仅作为方便首次开发企业微信使用 文章目录 Java企业微信会话存档开发(从跳坑到爬坑) 前言 一.开发准备 1.企业微信后台配置 2.sdk下载 3. ...

  3. 企业微信会话存档功能的推出背景,版本,部署方式

    会话存档推出的背景 会话存档最开始推出的使用对象为金融企业,金融从业人员的工作沟通合规监管日趋严格,2018年1月,"一行三会"联合发布<关于规范债券市场参与者债券交易业务的 ...

  4. 企业微信会话存档功能开启

    企业微信会话存档功能是企业微信所开发的,可以获取存档员工的工作聊天记录,包括文字.图片.语音.撤回消息等内容,用来保障客户服务质量.提高内部协作效率和监管合规. 企业如果想使用会话存档功能,首先需要管 ...

  5. Web端播放 .amr音频文件,企业微信会话存档语音文件

    前言:amr格式是微信上的语音格式,比如企业微信会话存档语音文件保存时就会遇到,由于html标签都不支持amr格式的语音文件,因此采用如下开源项目: https://github.com/BenzLe ...

  6. 企业微信会话存档在哪里看员工聊天记录?

    开通企业微信会话存档功能后,在哪里能看到员工聊天记录呢?其实会话存档是通过企业微信提供的API接口而开发的将聊天数据可视化的软件,开通会话存档后,我们有三种方法可以查看员工的聊天记录,一起来看看吧: ...

  7. 服务器微信接口返回乱码,企业微信会话内容存档调用DecryptData返回中文出现乱码...

    企业微信会话内容存档调用DecryptData返回中文出现乱码 问题类型 API/组件名称 终端类型 微信版本 基础库版本 Bug 企业微信会话存档sdk 工具 无 无 我用c#开发会话存档功能,调用 ...

  8. python对接企业微信_Python对接企业微信会话内容存档功能的实践

    背景 企业微信会话内容存档,是一项面对金融行业的开放的监管功能,其他行业可以找企业微信官方服务商[1]向腾讯申请审批开通.会话存档的推出是企业微信为了让企业可以了解员工与客户的互动情况,也为了避免员工 ...

  9. 企业微信会话内容存档功能说明

    为保障客户服务质量.提高内部协作效率和监管合规等原因,企业微信提供会话内容存档功能. 会话内容存档是什么? 企业在遇到以下情况时,是不是非常想获取员工与客户的聊天记录: 考察员工和客户的沟通过程是否有 ...

最新文章

  1. Two Sum [easy] (Python)
  2. 循环斐波那契数列_每日一课 | 斐波那契数列的第n个项
  3. 【题解】Luogu P2147 [SDOI2008]洞穴勘测
  4. 【Gas Station】cpp
  5. 用友修改服务器名称,用友修改服务器地址
  6. redhat linux raid5,Linux 红帽   磁盘管理~~~~RAID5+LVM
  7. 百度之星作为座位调整java_百度之星程序设计大赛十周年算法合集20052014.PDF
  8. python画二元一次函数图像_Python实现的拟合二元一次函数功能示例【基于scipy模块】...
  9. 如何开发Alexa Intent skill
  10. Flutter sksl 着色器预热
  11. c语言从键盘输入圆柱体的半径和高,c 写程序:输入圆柱的半径和高,计算并输出圆柱体的体积和表面积...
  12. .net framework 4.0 64位 提示 0x8007064 无法安装 解决方法
  13. python+requests接口自动化测试框架实例详解教程(米兔888)【适合半年或一年以上天天做自动化经验的大神下载使用】
  14. 「找一找」考你眼力的时候到了!
  15. centos6.2下安装utorrent server
  16. Win7 vista 界面美化
  17. 分析悬链线中心的横坐标位置
  18. 【Python】三种连接数据库的方式
  19. SOA为什么不“香”了?| 建设数据中台系列(三)
  20. Docker容器---Docker简介与原理

热门文章

  1. 大二第二周,刷下6+12道力扣(力扣+哈希)。
  2. Windows 系统内存占用过高
  3. 装备科研项目的研制阶段过程控制
  4. vue项目部署后刷新网页报404错误解决
  5. 30秒让让你的电脑快一倍 - 计算机基础 - 中国红客联盟 - Powered
  6. Day05-CSS布局-盒子模型
  7. 开源, 一种全新的创业模式,正在悄然袭来
  8. HCNP路由交换笔记
  9. Python+OpenCV之图片批处理(一)
  10. 欧姆龙CJ系列PLC五大扩展模块实战演示