|
楼主 |
发表于 2021-3-15 19:20:09
|
显示全部楼层
广东省广州市
这是核心代码,sha1加密方式请自行在论坛查找,字节集翻转也比较简单
|
TOTP_动态码生成 | 文本型 | | |
密钥 | 字节集 | | | | 次数 | 整数型 | | | | 位数 | 整数型 | | | | 剩余次数 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | hash | 字节集 | | | offset | 整数型 | | | binary | 整数型 | | | time | 整数型 | | | len | 整数型 | | | 如果真 (位数 ≤ 0 )位数 = 6 如果真 (位数 > 10 )位数 = 10 如果真 (次数 ≤ 0 )次数 = 30 time = 取时间间隔 (取现行时间 (), [1970年1月1日8时], #秒 )如果真 (取反 (是否为空 (剩余次数 )) )剩余次数 = 次数 - time % 次数
hash = Hmac_SHA1 (字节集_翻转2 (到字节集 (到长整数 (time ÷ 次数 )) ), 密钥 )len = 取字节集长度 (hash )offset = 位与 (hash [len ], 15 ) binary = 位与 (取字节集数据 (字节集_翻转2 (hash ), #整数型, len - offset - 3 ), 2147483647 ) 返回 (取文本右边 (“000000000” + 取文本右边 (到文本 (binary ), 位数 ), 位数 ))
补充内容 (2021-3-20 14:21):
密钥是base32解码后字节集。剩余次数是返回值,参考应该勾上 |
|