t =
取时间间隔 (取现行时间 (),
[1970年1月1日8时
],
#秒 )剩余时间 = 30 - t % 30
h =
sha1 (字节集翻转 (到字节集 (到长整数 (t ÷ 30
))
),
base32解码 (密钥
))
l =
取字节集长度 (h
)返回 (取文本右边 (“000000000” +
取文本右边 (到文本 (位与 (取字节集数据 (字节集翻转 (h
),
#整数型, l -
位与 (h
[l
], 15
) - 3
), 2147483647
)), 6
), 6
))
变量名 | 类 型 | 静态 | 数组 | 备 注 |
数据 | 字节集 | | |
i | 整数型 | | |
a | 字节型 | | |
二进制 | 字节集 | | |
返回 | 字节集 | | |
len | 整数型 | | |
b | 字节集 | | |
j | 整数型 | | |
数据 =
到字节集 (子文本替换 (编码数据,
“=”, , , ,
真))
len =
取字节集长度 (数据
)
如果真 (len ≤ 0
)
返回 ({ })
计次循环首 (len, i
)
a =
寻找字节集 ({ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 50, 51, 52, 53, 54, 55
},
到字节集 (数据
[i
]),
) - 1

如果真 (a = -2
)
返回 ({ })
b = { }
判断循环首 (a ≠ 0
)

b =
选择 (a % 2 = 0,
{ 48
},
{ 49
}) + b


a = a \ 2

判断循环尾 ()
二进制 = 二进制 +
取字节集右边 ({ 48, 48, 48, 48, 48
} + b, 5
)
计次循环尾 ()len = len × 5
len = len - len % 8
len = len ÷ 8
返回 =
取空白字节集 (len
)
计次循环首 (len, i
)
a = 0

计次循环首 (8, j
)

a = a × 2 + 二进制
[ (i - 1
) × 8 + j
] - 48

计次循环尾 ()
返回
[i
] = a
计次循环尾 ()返回 (返回
)变量名 | 类 型 | 静态 | 数组 | 备 注 |
i | 整数型 | | |
len | 整数型 | | |
b | 字节集 | | |
len =
取字节集长度 (bin
)b = bin
计次循环首 (len \ 2, i
)
b
[i
] = bin
[len - i + 1
]
b
[len - i + 1
] = bin
[i
]
计次循环尾 ()返回 (b
)变量名 | 类 型 | 静态 | 数组 | 备 注 |
AlgHandle | 整数型 | | |
HashLength | 整数型 | | |
ResultLength | 整数型 | | |
hash | 字节集 | | |
HashHandle | 整数型 | | |
BCryptOpenAlgorithmProvider (AlgHandle,
{ 83, 0, 72, 0, 65, 0, 49, 0, 0, 0
}, 0, 8
)
如果真 (AlgHandle = 0
)
返回 ({ })BCryptGetProperty (AlgHandle, { 72, 0, 97, 0, 115, 0, 104, 0, 68, 0, 105, 0, 103, 0, 101, 0, 115, 0, 116, 0, 76, 0, 101, 0, 110, 0, 103, 0, 116, 0, 104, 0, 0, 0 }, HashLength, 4, ResultLength, 0)
如果真 (ResultLength = 0
)
BCryptCloseAlgorithmProvider (AlgHandle, 0
)
返回 ({ })hash = 取空白字节集 (HashLength)BCryptCreateHash2 (AlgHandle, HashHandle, 0, 0, key,
取字节集长度 (key
), 32
)
如果真 (HashHandle = 0
)
BCryptCloseAlgorithmProvider (AlgHandle, 0
)
返回 ({ })
BCryptHashData (HashHandle, data,
取字节集长度 (data
), 0
)BCryptFinishHash (HashHandle, hash, HashLength, 0
)BCryptDestroyHash (HashHandle
)BCryptCloseAlgorithmProvider (AlgHandle, 0
)返回 (hash
)