http://mp.weixin.qq.com/wiki/4/2ccadaef44fe1e4b0322355c2312bfa8.html
Намерих документацията
Когато разработчикът подаде заявлението за верификация за първи път, WeChat сървърът изпраща GET заявка към попълнения URL адрес с четири параметъра (подпис, времеви печат, nonce, echostr), а разработчикът преценява автентичността на съобщението чрез проверка на подписа (т.е. подписа). След това, всеки път, когато разработчик получи потребителско съобщение, WeChat ще донесе първите три параметъра (подпис, времеви печат, nonce) за достъп до URL адреса, зададен от разработчика, и разработчикът все пак преценява автентичността на съобщението по валидността на подписа. Методът на валидиране е същият като при първото подаване на заявлението за верификация. | параметър | описание | | Подпис | Криптографският подпис на WeChat комбинира параметрите на токена, попълнени от разработчика, с параметрите на времевия печат и nonce в заявката. | | времеви печат | Времеви печат | | nonce | Случайно число | | echostr | Случаен низ |
Разработчикът проверява заявката чрез проверка на подписа (методът за проверка е показан по-долу). Ако потвърдите, че заявката за GET идва от WeChat сървъра, моля, върнете съдържанието на параметъра EchoStr както е, и достъпът ще влезе в сила и ще стане успешен разработчик, в противен случай достъпът ще се провали. Процесът на криптиране/верификация е следният:1. Сортирайте трите параметъра – token, timestamp и nonce в речниковия ред2. Зашийте три параметърни низа в низ за SHA1 криптиране3. Криптираният низ, получен от разработчика, може да бъде сравнен със сигнатурата, за да се идентифицира произходът на заявката от WeChat |