第二课-服务器和网关对接,TOKEN验证及算法。 
------------------------------------TOKEN源码 
.子程序 TOKEN验证 
.参数 GET数据, 文本型 
.参数 当前客户, 文本型 
.局部变量 字符验证, 文本型 
.局部变量 GET分割, 文本型, , "0" 
.局部变量 数组重新排序, 文本型, , "0" 
.局部变量 验证码, 文本型 
.局部变量 数据加密, 类_数据操作 
.局部变量 数据对比, 文本型 
 
字符验证 = 子文本替换 (GET数据, “signature=”, “”, , , 真) 
字符验证 = 子文本替换 (字符验证, “echostr=”, “”, , , 真) 
字符验证 = 子文本替换 (字符验证, “timestamp=”, “”, , , 真) 
字符验证 = 子文本替换 (字符验证, “nonce=”, “”, , , 真) 
.如果真 (寻找文本 (字符验证, “&”, , 假) = -1) 
    日志输出 (“TOKEN验证失败..”) 
    返回 () 
.如果真结束 
GET分割 = 分割文本 (字符验证, “&”, ) 
加入成员 (数组重新排序, GET分割 [3]) 
加入成员 (数组重新排序, GET分割 [4]) 
加入成员 (数组重新排序, _启动窗口.编辑框_微信接口_TOKEN.内容) 
数组_排序 (数组重新排序, , ) 
验证码 = 数组重新排序 [1] + 数组重新排序 [2] + 数组重新排序 [3] 
数据对比 = 数据加密.hex_sha1 (到字节集 (验证码)) 
.如果真 (GET分割 [1] = 数据对比) 
    日志输出 (“TOKEN验证成功...”) 
    服务器返回数据 (当前客户, #wx_协议头 + 时间_转为GMT格式 (取现行时间 ()) + #换行符 + #换行符 + GET分割 [2]) 
    返回 () 
.如果真结束 
日志输出 (“TOKEN验证失败...”) 
服务器返回数据 (当前客户, GET分割 [1]) 
 
 
 
 |