|
发表于 2025-2-10 10:41:44
|
显示全部楼层
云南省楚雄彝族自治州
.版本 2
.子程序 generate_a1, 文本型
.参数 hex_str, 文本型
.局部变量 Character_tables, 文本型
.局部变量 a1, 文本型, , "8"
.局部变量 v19, 整数型, , "16"
.局部变量 v10, 整数型
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 k, 整数型
.局部变量 current_char, 整数型
.局部变量 v12, 整数型
.局部变量 idx, 整数型
.局部变量 v14, 整数型
.局部变量 v15, 整数型
.局部变量 v16, 整数型
Character_tables = “QbNUTaMecPWVSKdCgXIJRrsfYXwyqpvnDHWzQuPmAGtAxRTphBcwBnNkjbFmvVMqaFkEutSrDCxsCKjBzEyDEUJTZfHZghMHYFdeASGNaUgFtdbYRkshJHkFNXMcKdfw”
a1 = { “”, “”, “”, “”, “”, “”, “”, “” } ' 初始化结果数组
' 生成十六进制字符串
hex_str = 到大写 (hex_str)
hex_str = 子文本替换 (hex_str, “ ”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “0”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “1”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “2”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “3”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “4”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “5”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “6”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “7”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “8”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “9”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “A”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “B”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “C”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “D”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “E”, “”, , , 真)
hex_str = 子文本替换 (hex_str, “F”, “”, , , 真)
.如果真 (取文本长度 (hex_str) = 12)
.计次循环首 (8, i)
v19 = 取代码 (取文本中间 (hex_str, 12 - i, 1), )
.计次循环尾 ()
v10 = 5
.计次循环首 (8, j)
current_char = v19 [j]
.如果真 (current_char ≥ 49 且 current_char ≤ 57) ' '1'-'9'
v10 = 位或 (current_char - 48, j)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.计次循环首 (8, k)
v12 = v19 [k]
.如果真 (k > 3)
idx = k - 4
.如果真 (idx ≥ 0 且 idx < 16)
v14 = v19 [idx]
.否则
v14 = 0
.如果真结束
v15 = 位或 (v12, v14)
.否则
idx = 7 - k
.如果真 (idx ≥ 0 且 idx < 16)
v14 = v19 [idx]
.否则
v14 = 0
.如果真结束
v15 = 位与 (v12, v14)
.如果真结束
v16 = v15 + v10
.如果真 (v16 > 127)
v16 = k
v10 = k
.如果真结束
.如果真 (v16 ≥ 0 且 v16 < 128)
a1 [k] = 取文本中间 (Character_tables, v16 + 1, 1)
.否则
a1 [k] = “”
.如果真结束
.如果真 (k = 0)
v10 = v10 + 1
.如果真结束
v10 = v10 + k
.计次循环尾 ()
.否则
返回 (“MAC错误”)
.如果真结束
返回 (a1 [1] + a1 [2] + a1 [3] + a1 [4] + a1 [5] + a1 [6] + a1 [7] + a1 [8])
补充内容 (2025-2-10 10:42):
代码说明:
Character_tables:存储字符表。
a1:初始化长度为 8 的数组,用于存储最终结果。
hex_str:处理输入的十六进制字符串,过滤非十六进制字...
补充内容 (2025-2-10 10:42):
3.hex_str:处理输入的十六进制字符串,过滤非十六进制字符。
补充内容 (2025-2-10 10:43):
4.v19:存储处理后的字符 ASCII 值。
5.v10:初始值为 5,用于后续计算。
6.循环处理:根据 Python 代码逻辑,逐字符处理并生成最终结果。 |
|