企业微信的Rust加解密算法
企业微信官方提供了多种语言的加解密SDK可以直接使用,包括C++、Python、Java、Go等,唯独没有Rust。不过好在提供了加解密原理,我们可以自行使用Rust实现。
最近在用Rust开发企业微信内部应用。按照官方文档,企业微信服务器所发送的数据全部为加密后数据,使用前需要先解密。同理,发送给企业微信服务器的数据也需要先加密。目前,官方提供了多种语言的加解密SDK可以直接使用,包括C++、Python、Java、Go等,唯独没有Rust。不过好在提供了加解密原理,我们可以自行使用Rust实现。
在实际编写中,几个比较重要的坑要注意:
- 企业微信的BASE64编码有自己的特殊要求。
- 请求数据的哈希校验使用的是SHA1。
接下来我们按照文档原理,依次实现以下三个功能:
- 签名生成。用于验证请求来源是否为企业微信服务器。
- 明文加密。将明文字符串加密为密文。
- 密文解密。将密文解密为明文字符串。
有AI相关的想法,但不知道怎么落地?
我是国冰,独立AI开发者。十多年技术一线——半导体显示、智慧城市到自动驾驶;现在一个人+AI,接AI落地项目,从梳理需求到系统落地,陪你走通。
微信聊聊
看我能做什么
看我能做什么