WXBizMsgCrypt.py 文件源码

python
阅读 31 收藏 0 点赞 0 评论 0

项目:weixincrop 作者: tonghou23 项目源码 文件源码
def decrypt(self,text,corpid):
        """?????????????
        @param text: ?? 
        @return: ??????????
        """
        try:
            cryptor = AES.new(self.key,self.mode,self.key[:16])
            # ??BASE64??????????AES-CBC??
            plain_text  = cryptor.decrypt(base64.b64decode(text))
        except Exception,e:
            print e 
            return  ierror.WXBizMsgCrypt_DecryptAES_Error,None
        try:
            pad = ord(plain_text[-1]) 
            # ??????? 
            #pkcs7 = PKCS7Encoder()
            #plain_text = pkcs7.encode(plain_text)   
            # ??16??????
            content = plain_text[16:-pad]
            xml_len = socket.ntohl(struct.unpack("I",content[ : 4])[0])
            xml_content = content[4 : xml_len+4] 
            from_corpid = content[xml_len+4:]
        except Exception,e:
            print e
            return  ierror.WXBizMsgCrypt_IllegalBuffer,None
        if  from_corpid != corpid:
            return ierror.WXBizMsgCrypt_ValidateCorpid_Error,None
        return 0,xml_content
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号