流程图如下 (不知道博客园怎么显示 md 流程图,有知道的仁兄告知):(取自微信公众平台技术文档)
- st=>start: 开启服务
- ipop1=>inputoutput: 接收到数据【不确定是谁发来的】
- op1=>operation: 尝试提取出signature字段,timestamp字段,nonce字段,echostr字段
- cd1=>condition: 字段均提取成功?
- op2=>operation: token赋值为基本配置中的信息
- op3=>operation: token,timestamp,nonce字段排序得到字符串list
- op4=>operation: 哈希算法加密list得到hashcode
- cd2=>condition: hashcode == signature?
- op5=>operation: 确定该数据源是微信后台
- ipop2=>inputoutput: 把echostr返回给微信后台,供微信后台认证Token
- ed=>end: 继续其他服务
- op6=>operation: 确定该数据源不是微信后台
- ipop3=>inputoutput: 不处理
- st->ipop1->op1->cd1->op2->op3->op4->cd2->op5->ipop2->ed
- cd1(yes)->op2
- cd1(no)->op6->ipop3->ed
- cd2(yes)->op5
- cd2(no)->op6
来源: https://www.cnblogs.com/tswhq/p/8157795.html