http://mp.weixin.qq.com/wiki/4/2ccadaef44fe1e4b0322355c2312bfa8.html
Encontrei a documentação
Quando o desenvolvedor envia a aplicação de verificação pela primeira vez, o servidor WeChat enviará uma requisição GET para a URL preenchida com quatro parâmetros (assinatura, carimbo de tempo, nonce, echostr), e o desenvolvedor avaliará a autenticidade da mensagem verificando a assinatura (ou seja, assinatura). Depois disso, toda vez que um desenvolvedor receber uma mensagem de usuário, o WeChat também traz os três primeiros parâmetros (assinatura, carimbo de data, nonce) para acessar a URL definida pelo desenvolvedor, e o desenvolvedor ainda julga a autenticidade da mensagem pela validade da assinatura. O método de validação é o mesmo da primeira submissão da solicitação de verificação. | parâmetro | descrição | | assinatura | Assinatura criptográfica WeChat, assinatura combina os parâmetros do token preenchidos pelo desenvolvedor com os parâmetros de carimbo de tempo e nonce na solicitação. | | Carimbo de tempo | Carimbo de data e hora | | nonce | Número aleatório | | echostr | Sequência aleatória |
O desenvolvedor verifica a solicitação verificando a assinatura (o método de verificação é mostrado abaixo). Se você confirmar que a solicitação GET vem do servidor do WeChat, por favor, retorne o conteúdo do parâmetro echostr como está, e o acesso terá efeito e se tornará um desenvolvedor bem-sucedido, caso contrário o acesso falhará. O processo de criptografia/verificação é o seguinte:1. Ordenar os três parâmetros de token, carimbo de tempo e nonce na ordem do dicionário2. Unam três cadeias de parâmetros em uma string para criptografia SHA13. A string criptografada obtida pelo desenvolvedor pode ser comparada com a assinatura para identificar a origem da solicitação do WeChat |