动态口令的生成算法
动态口令的生成算法和RFC6238协议类似。
这里我们用 secret 代表动态口令的生成密钥,它一般是长度为32的octets,例如:
b'\xa4\x22\x99\xe1\xce\xd4\xe7\x05\x48\x43\x92\x58\x3a\
xd0\xb7\x6a\x8d\x6e\x89\x3c\x2d\xd1\x98\xbc\x39\x9b\x4c\x9a\x4e\x34\x21\xeb'
算法的大致过程如下:
将当前北京时间向下对齐到30s
, 11, 6, 12, 14, 3, 11, 14, 9, 5, 0, 2, 12, 11, 14, 13, 13, 8, 3, 14, 0, 11, 15, 9, 4, 4]
按照如下公式得到6位动态口令的每一位
使用secret生成动态密码
Usage:
./generate-qqtoken.py <secret>
例如:
$ .