加解密方案说明
对明文msg加密的过程如下:
msg_encrypt = Base64_Encode( AES_Encrypt[random(16B) + msg_len(4B) + msg + $CorpID] )
AES加密的buf由16个字节的随机字符串、4个字节的msg长度、明文msg和$CorpID组成。其中msg_len为msg的字节数,网络字节序;$CorpID为企业邮的CorpID。经AESKey加密后,再进行Base64编码,即获得密文msg_encrypt。
对应于加密方案,解密方案如下:
1.对密文BASE64解码:aes_msg=Base64_Decode(msg_encrypt)
2.使用AESKey做AES解密:rand_msg=AES_Decrypt(aes_msg)
3.验证解密后$CorpID、msg_len
4.去掉rand_msg头部的16个随机字节,4个字节的msg_len,和尾部的$CorpID即为最终的消息体原文msg