|
地板
发表于 2024-7-19 06:37:44
|
只看该作者
陕西省西安市
把字典按键排序拼接再MD5再替换“-”为空
变量名 | 类 型 | 静态 | 数组 | 备 注 | param | 键_值 | | 0 | 临时键值 | 键_值 | | | 您设置的加密字符串 | 文本型 | | |
临时键值.键 = “UserName”临时键值.值 = “用户名”加入成员 (param, 临时键值 )临时键值.键 = “OrderId”临时键值.值 = “订单ID”加入成员 (param, 临时键值 )您设置的加密字符串 = “560c52ccd288fed045859ed18bffd973”调试输出 (Sign (param, 您设置的加密字符串 )) |
Sign | 文本型 | | |
param | 键_值 | | | | 您设置的加密字符串 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | signPars | 文本型 | | | 临时数组 | 文本型 | | 0 | 计次 | 整数型 | | | 临时键值 | 键_值 | | |
signPars = “”键值数组_排序 (param ) 计次循环首 (取数组成员数 (param ), 计次 ) 如果真 (param [计次 ].键 ≠ “sign” 且 param [计次 ].值 ≠ “”)  signPars = signPars + param [计次 ].键 + 编码_BASE64编码 (到字节集 (编码_gb2312到utf8 (param [计次 ].值 )) )  计次循环尾 ()signPars = signPars + 您设置的加密字符串 调试输出 (signPars )返回 (子文本替换 (校验_取md5_文本 (signPars ), “-”, “”, , , 真)) |
键值数组_排序 | | | |
要排序的数组 | 键_值 | | | | 区分大小写 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | N | 整数型 | | | 排序数组 | 键_值 | | 0 | 成员数量 | 整数型 | | | 高位 | 整数型 | | | 低位 | 整数型 | | | 中间位 | 整数型 | | | 比较结果 | 整数型 | | | 复制数组 (排序数组, 要排序的数组 )清除数组 (要排序的数组 ) 如果真 (是否为空 (区分大小写 ) = 真) 区分大小写 = 真 计次循环首 (取数组成员数 (排序数组 ), N ) 判断 (成员数量 = 0 ) 插入成员 (要排序的数组, 1, 排序数组 [N ])     高位 = 成员数量   低位 = 1   中间位 = (高位 + 低位 ) \ 2    判断 (区分大小写 = 假)   比较结果 = 文本比较 (到大写 (排序数组 [N ].键 ), 到大写 (要排序的数组 [成员数量 ].键 ), 真)   比较结果 = 文本比较 (排序数组 [N ].键, 要排序的数组 [成员数量 ].键, 真)  判断 (比较结果 ≥ 0 ) 插入成员 (要排序的数组, 成员数量 + 1, 排序数组 [N ])  判断 (文本比较 (排序数组 [N ].键, 要排序的数组 [1 ].键, 真) ≤ 0 ) 插入成员 (要排序的数组, 1, 排序数组 [N ])   判断循环首 (高位 - 低位 > 1 )  如果真 (排序数组 [N ].键 = 要排序的数组 [中间位 ].键 )  跳出循环 ()  如果 (文本比较 (排序数组 [N ].键, 要排序的数组 [中间位 ].键, 真) < 0 )   高位 = 中间位    低位 = 中间位  中间位 = (高位 + 低位) \ 2  判断循环尾 ()  判断 (文本比较 (排序数组 [N ].键, 要排序的数组 [中间位 ].键, 真) ≤ 0 )  插入成员 (要排序的数组, 中间位, 排序数组 [N ])  插入成员 (要排序的数组, 中间位 + 1, 排序数组 [N ])        成员数量 = 取数组成员数 (要排序的数组) 计次循环尾 ()
|
|