|
沙发

楼主 |
发表于 2025-4-22 10:37:09
|
只看该作者
河南省郑州市
窗口程序集名 | 保 留 | 保 留 | 备 注 | Client, , 公开 | | | | 变量名 | 类 型 | 数组 | 备 注 | 集_Api | 文本型 | | 集_Params | 文本型 | | 集_safe_code | 文本型 | | 集_Data | 文本型 | | 集_Json | 类_json | |
集_safe_code = 获取随机字符串 ()集_Api = 接口地址 如果真 (参数重复检测 (参数名 ) = 假) 判断 (集_Params = “”)  集_Params = 参数名 + “=” + 参数值   集_Params = 集_Params + “&” + 参数名 + “=” + 参数值    变量名 | 类 型 | 静态 | 数组 | 备 注 | actualRequestParams | 文本型 | | | responseResult | 逻辑型 | | |
如果真 (g_是否输出调试信息 ) 调试输出 (“-----------------请求开始-----------------”) 调试输出 (“请求接口地址:” + 集_Api ) 调试输出 (“原请求数据:” + 集_Params )actualRequestParams = 统一参数中转处理 () 如果真 (g_是否输出调试信息 ) 调试输出 (“实际请求参数-已加密:” + actualRequestParams )集_Data = 网页_访问S (g_Host + 集_Api + “?” + actualRequestParams, 0, , , , , , , , , , , , , , , , , , , )responseResult = 假 如果真 (集_Data ≠ “”) responseResult = 真  如果真 (g_是否输出调试信息 ) 调试输出 (“响应返回值:” + 集_Data ) 集_Json.解析 (解密data数据 (), , ) 如果真 (g_是否输出调试信息 ) 调试输出 (“-----------------请求结束-----------------”)返回 (responseResult)返回 (集_Data )返回 (集_Json )dataJson = 编码_Utf8到Ansi (对称解密 (字节集_十六进制到字节集 (集_Data ), 到字节集 (g_AesKey ), #对称算法_AES_256_ECB, #数据填充_PKCS5_PADDING, )) 返回 (dataJson )变量名 | 类 型 | 静态 | 数组 | 备 注 | dataJson | 文本型 | | | json | 类_json | | |
dataJson = 解密data数据 ()json. 解析 (dataJson )返回 (json )变量名 | 类 型 | 静态 | 数组 | 备 注 | dataJson | 文本型 | | | responseDataJson | 类_json | | | safeCode | 文本型 | | |
dataJson = 解密data数据 ()responseDataJson = 解密data_json对象 ()safeCode = responseDataJson. 取通用属性 (“safeCode”, ) 如果真 (集_safe_code = safeCode ) 返回 (真)返回 (假)变量名 | 类 型 | 静态 | 数组 | 备 注 | signature | 文本型 | | |
signature = 集_Json. 取通用属性 (“signature”) 如果真 (获取字符串md5值 (_响应数据_排序 (集_Json ) + g_AppKey ) = signature ) 返回 (真)返回 (假)变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_属性名_数组 | 文本型 | | 0 | post | 文本型 | | | k | 文本型 | | | v | 文本型 | | | i | 整数型 | | | data | 文本型 | | | json_data | 类_json | | | 局_属性名_数组_data | 文本型 | | 0 | ii | 整数型 | | | kk | 文本型 | | | vv | 文本型 | | | 分割 | 文本型 | | 0 | 二次分割 | 文本型 | | 0 | x | | | | paramsStr | 文本型 | | |
json. 取所有属性名 (局_属性名_数组, ) 计次循环首 (取数组成员数 (局_属性名_数组 ), i ) k = 局_属性名_数组 [i ] v = json. 取通用属性 (k, ) 如果真 (k = “code” 且 v = “1”)  data = json. 取通用属性 (“data”, 真)  json_data. 解析 (data, , )  json_data. 取所有属性名 (局_属性名_数组_data, )  计次循环首 (取数组成员数 (局_属性名_数组_data ), ii )   kk = 局_属性名_数组_data [ii ]   vv = json_data. 取通用属性 (kk, )   post = post + kk + “=” + vv + “&”  计次循环尾 ()   如果真 (k ≠ “signature” 且 k ≠ “data”)  如果 (i = 取数组成员数 (局_属性名_数组 ))    post = post + k + “=” + v    post = post + k + “=” + v + “&”     计次循环尾 ()分割 = 分割文本 (post, “&”, )数组_排序 (分割, 0, ) 计次循环首 (取数组成员数 (分割 ), x ) 二次分割 = 分割文本 (分割 [x ], “=”, ) 如果真 (取数组成员数 (二次分割 ) ≠ 2 ) 到循环尾 () k = 二次分割 [1] v = 二次分割 [2 ] 如果真 (k ≠ “appId” 且 k ≠ “signature” 且 k ≠ “data”)  如果 (x = 取数组成员数 (分割 ))    paramsStr = paramsStr + k + “=” + v    paramsStr = paramsStr + k + “=” + v + “&”     计次循环尾 ()返回 (paramsStr )变量名 | 类 型 | 静态 | 数组 | 备 注 | server_time | 长整数型 | | | allow_time_scope_minimum | 长整数型 | | | allow_time_scope_maximum | 长整数型 | | | timestamp | 长整数型 | | |
server_time = 到长整数 (集_Json. 取通用属性 (“timestamp”, )) allow_time_scope_minimum = server_time - g_时差最小值 allow_time_scope_maximum = server_time + g_时差最大值 timestamp = 到长整数 (获取当前时间戳 ()) 如果真 (timestamp > allow_time_scope_maximum 或 timestamp < allow_time_scope_minimum ) 返回 (假)返回 (真)变量名 | 类 型 | 静态 | 数组 | 备 注 | 分割 | 文本型 | | 0 | x | 整数型 | | | k | 文本型 | | | v | 文本型 | | | paramsStr | 文本型 | | | 二次分割 | 文本型 | | 0 | 添加请求参数 (“appId”, g_AppId ) 添加请求参数 (“timestamp”, 获取当前时间戳 ()) 添加请求参数 (“safeCode”, 集_safe_code ) 添加请求参数 (“signature”, 获取字符串md5值 (获取签名字符串 (集_Params ) + g_AppKey )) 如果真 (g_是否输出调试信息 ) 调试输出 (“实际请求参数-未加密:” + 集_Params )分割 = 分割文本 (集_Params, “&”, )数组_排序 (分割, 0, ) 计次循环首 (取数组成员数 (分割 ), x ) 二次分割 = 分割文本 (分割 [x ], “=”, ) 如果真 (取数组成员数 (二次分割 ) ≠ 2 ) 到循环尾 () k = 二次分割 [1] v = 二次分割 [2 ] 如果真 (k ≠ “appId”)  如果 (x = 取数组成员数 (分割 ))    paramsStr = paramsStr + k + “=” + v    paramsStr = paramsStr + k + “=” + v + “&”     计次循环尾 ()paramsStr = 字节集_字节集到十六进制 (对称加密 (编码_Ansi到Utf8 (paramsStr ), 到字节集 (g_AesKey ), #对称算法_AES_256_ECB, #数据填充_PKCS5_PADDING, )) paramsStr = “appId=” + g_AppId + “¶ms=” + paramsStr 返回 (paramsStr )变量名 | 类 型 | 静态 | 数组 | 备 注 | signStr | 文本型 | | | 分割 | 文本型 | | 0 | x | 整数型 | | | k | 文本型 | | | v | 文本型 | | | 二次分割 | 文本型 | | 0 |
如果真 (g_是否输出调试信息 ) 调试输出 (“参与签名数据:” + param )分割 = 分割文本 (param, “&”, )数组_排序 (分割, 0, ) 计次循环首 (取数组成员数 (分割 ), x ) 二次分割 = 分割文本 (分割 [x ], “=”, ) 如果真 (取数组成员数 (二次分割 ) ≠ 2 ) 到循环尾 () k = 二次分割 [1] v = 二次分割 [2 ] 如果真 (k ≠ “signature” 且 k ≠ “appId”)  如果 (x = 取数组成员数 (分割 ))    signStr = signStr + k + “=” + v    signStr = signStr + k + “=” + v + “&”     计次循环尾 () 如果真 (g_是否输出调试信息 ) 调试输出 (“签名字符串:” + signStr )返回 (signStr)返回 (时间_取现行时间戳 (假)) 返回 (校验_取md5 (编码转换 (到字节集 (str ), #编码_GB2312, #编码_UTF_8, ), 假, 假)) 置随机数种子 () 计次循环首 (16, i ) 结果 = 结果 + 到文本 (取随机数 (0, 9 )) 计次循环尾 ()返回 (结果 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 分割 | 文本型 | | 0 | x | 整数型 | | | k | 文本型 | | | v | 文本型 | | | 二次分割 | 文本型 | | 0 |
分割 = 分割文本 (集_Params, “&”, )数组_排序 (分割, 0, ) 计次循环首 (取数组成员数 (分割 ), x ) 二次分割 = 分割文本 (分割 [x ], “=”, ) 如果真 (取数组成员数 (二次分割 ) ≠ 2 ) 到循环尾 () k = 二次分割 [1] v = 二次分割 [2 ] 如果真 (k = key ) 返回 (真)  计次循环尾 ()返回 (假)
|
|