|
- .版本 2
- .支持库 spec
- .支持库 internet
- .支持库 dp1
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- ' PHP算法:https://www.fedcba9876543210.com/thread-1802-1-1.html (配套使用)
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 加密后, 字节集
- ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
- 调试输出 (到文本 (对称加解密_MD5 (HTTP读文件 (“http://127.0.0.1/dxead.php”), “1234567”))) ' PHP文件请注意删除头尾的空格、回车等否则会解密错误
- .子程序 对称加解密_MD5, 字节集, 公开, 密码循环MD5加密+异或MD5字节值的数据对称加解密程序
- .参数 数据, 字节集, , 要加密或解密的字节集数据
- .参数 密码, 文本型, , 必须使用一致的密码才可以解密出正确的数据
- .局部变量 哈希, 字节集
- .局部变量 长度, 整数型
- .局部变量 块, 整数型
- .局部变量 计数, 整数型
- .局部变量 计数2, 整数型
- .局部变量 返回值, 字节集
- 哈希 = 到字节集 (密码)
- 长度 = 取字节集长度 (数据)
- 块 = 到整数 (长度 ÷ 16) + 1
- 返回值 = 取空白字节集 (长度)
- .循环判断首 ()
- 哈希 = 十六进制到字节集 (取数据摘要 (哈希))
- .计次循环首 (选择 (块 = 1, 长度 % 16, 16), 计数)
- 计数2 = 计数2 + 1
- 返回值 [计数2] = 位异或 (数据 [计数2], 哈希 [计数])
- .计次循环尾 ()
- 块 = 块 - 1
- .循环判断尾 (块 > 0)
- 返回 (返回值)
- .子程序 十六进制到字节集, 字节集
- .参数 文本, 文本型
- .局部变量 计数, 整数型
- .局部变量 返回值, 字节集
- .局部变量 计数2, 整数型
- .局部变量 文本长度, 整数型
- 文本长度 = 取文本长度 (文本)
- .如果真 (位与 (文本长度, 1) = 1)
- 输出调试文本 (“十六进制文本转字节集不得为奇数字节。”)
- 返回 ({ })
- .如果真结束
- 返回值 = 取空白字节集 (文本长度 ÷ 2)
- .变量循环首 (1, 文本长度, 2, 计数)
- 计数2 = 计数2 + 1
- 返回值 [计数2] = 文本型_二位十六进制到字节型 (取文本中间 (文本, 计数, 2))
- .变量循环尾 ()
- 返回 (返回值)
- .子程序 文本型_二位十六进制到字节型, 字节型
- .参数 十六进制文本, 文本型
- 十六进制文本 = 到大写 (取文本左边 (十六进制文本, 2))
- 返回 (位或 (左移 (文本型_一位十六进制到十进制 (取文本左边 (十六进制文本, 1)), 4), 文本型_一位十六进制到十进制 (取文本右边 (十六进制文本, 1))))
- .子程序 文本型_一位十六进制到十进制, 字节型
- .参数 十六进制文本, 文本型
- .局部变量 十六进制文本2, 文本型
- .局部变量 计数, 整数型
- 十六进制文本 = 到大写 (取文本左边 (十六进制文本, 1))
- 十六进制文本2 = “0123456789ABCDEF”
- .计次循环首 (16, 计数)
- .如果真 (取文本中间 (十六进制文本2, 计数, 1) = 十六进制文本)
- 返回 (计数 - 1)
- .如果真结束
- .计次循环尾 ()
- 输出调试文本 (“发现不是十六进制的字符。”)
- 返回 (0)
复制代码 |
|