|
地板
发表于 2025-1-22 15:52:15
|
只看该作者
云南省楚雄彝族自治州
.版本 2
.支持库 dp1
.子程序 GetSign, 文本型
.参数 param, 文本型, 数组, 参考 ' 使用数组存储键值对,格式为 ["key1=value1", "key2=value2", ...]
.局部变量 sclient_secret, 文本型
.局部变量 jstring, 文本型
.局部变量 i, 整数型
.局部变量 keyValue, 文本型
.局部变量 key, 文本型
.局部变量 value, 文本型
.局部变量 sortedParam, 文本型
.局部变量 md5jstring, 文本型
' 初始化变量
sclient_secret = “”
jstring = “”
sortedParam = 取空白文本 (0)
' 将键值对数组按键名排序
.计次循环首 (取数组成员数 (param), i)
keyValue = param [i]
key = 取文本左边 (keyValue, 寻找文本 (keyValue, “=”, , 假) - 1)
value = 取文本右边 (keyValue, 取文本长度 (keyValue) - 寻找文本 (keyValue, “=”, , 假))
' 将键值对按键名排序
插入成员 (sortedParam, i, keyValue)
.计次循环尾 ()
' 对 sortedParam 按键名排序
数组排序 (sortedParam, 真)
' 遍历排序后的键值对
.计次循环首 (取数组成员数 (sortedParam), i)
keyValue = sortedParam [i]
key = 取文本左边 (keyValue, 寻找文本 (keyValue, “=”, , 假) - 1)
value = 取文本右边 (keyValue, 取文本长度 (keyValue) - 寻找文本 (keyValue, “=”, , 假))
.如果真 (key ≠ “client_secret”)
jstring = jstring + key + value
sclient_secret = value
.如果真结束
.计次循环尾 ()
' 拼接字符串并进行MD5加密
jstring = sclient_secret + jstring + sclient_secret
md5jstring = 到大写 (取数据摘要 (到字节集 (jstring)))
返回 (md5jstring)
|
|