gpt4 book ai didi

unit-testing - 使用谷歌验证器进行单元测试

转载 作者:行者123 更新时间:2023-12-04 18:08:31 24 4
gpt4 key购买 nike

我目前正在将“Google Authenticator”应用程序与我正在开发的网站一起使用,我想知道是否有可能(无论 Google 是否提供)编写单元测试来显示双重验证的一些可能输出认证程序。

我想知道是否还有一个类允许我在我的计算机上生成它,以便我可以对结果进行单元测试,而不是使用手机生成数字代码。

最佳答案

如果您知道预共享的 secret 字符串(一个编码在您使用 Authenticator 应用程序扫描的二维码中),您就可以生成代码。这是 Python 中的代码(via @TadeckGitHub):

import hmac, base64, struct, hashlib, time

def get_hotp_token(secret, intervals_no):
key = base64.b32decode(secret, True)
msg = struct.pack(">Q", intervals_no)
h = hmac.new(key, msg, hashlib.sha1).digest()
o = ord(h[19]) & 15
h = (struct.unpack(">I", h[o:o+4])[0] & 0x7fffffff) % 1000000
return h

def get_totp_token(secret):
return get_hotp_token(secret, intervals_no=int(time.time())//30)

secret = 'MZXW633PN5XW6MZX'
for i in xrange(1, 10):
print i, get_hotp_token(secret, intervals_no=i)

关于unit-testing - 使用谷歌验证器进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20254735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com