企业微信的Rust加解密算法
企业微信官方提供了多种语言的加解密SDK可以直接使用,包括C++、Python、Java、Go等,唯独没有Rust。不过好在提供了加解密原理,我们可以自行使用Rust实现。
最近在用Rust开发企业微信内部应用。按照官方文档,企业微信服务器所发送的数据全部为加密后数据,使用前需要先解密。同理,发送给企业微信服务器的数据也需要先加密。目前,官方提供了多种语言的加解密SDK可以直接使用,包括C++、Python、Java、Go等,唯独没有Rust。不过好在提供了加解密原理,我们可以自行使用Rust实现。
在实际编写中,几个比较重要的坑要注意:
- 企业微信的BASE64编码有自己的特殊要求。
- 请求数据的哈希校验使用的是SHA1。
接下来我们按照文档原理,依次实现以下三个功能:
- 签名生成。用于验证请求来源是否为企业微信服务器。
- 明文加密。将明文字符串加密为密文。
- 密文解密。将密文解密为明文字符串。
有技术问题需要解决?
论文复现、模型部署、代码审查 —— 把问题带来,我帮你走通整条链路。
微信聊聊
关于我
关于我