微信请求的url:
signature=cae44fee731822c391c56e4ba618e5fb93773182×tamp=1721879807&nonce=1636169773&encrypt_type=aes&msg_signature=e1ca2339c205ebee00eb5c7a7e0a10e7bc5f8922
s请求体:
<xml>
<AppId>
<![CDATA[wxbd271744fdcca5bd]]>
</AppId>
<Encrypt>
<![CDATA[dS2oV+avwITp9LtYXl5Bs8OE1YWVnhz3IKlE5zd2OrWICJNXHGuNLSrA/+vQff3CaYQMYmfSdFHoYOQt4UQcIydc8FTAQM3CI3MxH4VPJbvszB5FyDYTKGaSEGRHHtkvrH3WGa5uRu24/J7thdzML1Wx5cy/AMSO4bXJFj7KSwb7e28Og2p9Hn3oUQV6y5kR8hph0xcmMifq8bx6rdhPvEj4LS9QM+Uug7TJ0e+uJaXF0e/eZDNGrD97WfwL5RfhEKWonhvUcGkg0LDz1U+tmAHe+LMxppBswHHSe02j4P5yQKZde0/1HnS/B6U2PdoNDm4CipClEOUG4Jcrn5A+4C5xGLjZu7KjDw/p4OWc+R74gpUVqBZJ3IbIbzrPug/nlO8b0LXAE6q40UboH5ejl/C3/69vfjKZDxI9ZrCufGPLarG77MeqWB5ARVM02LVOVtSkweAa2yII/l7SySjQfw==]]>
</Encrypt>
</xml>
aes 解密 encrypt 标签下的内容后, 得到明文:
1<xml><AppId><![CDATA[wxbd271744fdcca5bd]]></AppId>
<CreateTime>1721879807</CreateTime>
<InfoType><![CDATA[component_verify_ticket]]></InfoType>
<ComponentVerifyTicket><![CDATA[ticket@@@0hoDA1hCWVSr马赛克GBHkK80马赛克341zexSsJlFteMQ]]></ComponentVerifyTicket>
</xml>wxbd271744fdcca5bd
文档中, 解密后的明文数据结构如下:
random(16B)为 16 字节的随机字符串;
msg_len 为 msg 长度,占 4 个字节(网络字节序);
msg为解密后的明文;
appid为第三方平台Appid,开发者需验证此Appid是否与自身第三方平台相符。
解密后明文开头的 数字 1 是什么? 没有 16字节 的随机数, 也没有 4字节 的 msg_length, 后面的 msg 和 appid 倒是可以对上.
你用一下看是否正确,完事。不用去纠结文档的事。