无需登录 数据私有 本地保存

一次性密码TOTP生成器 - 兼容Google验证器

71
0
0
0

TOTP

TOTP即基于时间的一次性密码,是OTP的一种实现方式。它根据当前时间戳生成一个短期有效的密码,通常每30秒或60秒变化一次。TOTP是HOTP的扩展,将HOTP的计数器替换为时间因子。本工具的核心功能就是按照TOTP标准生成验证码,用户可以使用这些验证码进行两步验证。

Base32编码

Base32是一种将二进制数据编码为ASCII文本的编码方式,使用A-Z和2-7共32个可打印字符。相比Base64,Base32避免了大小写敏感和易混淆字符的问题,更适合人工抄写和口头传递。TOTP密钥通常以Base32格式表示,本工具接受Base32编码的密钥输入,并在内部将其解码为原始字节用于计算验证码。

HMAC

HMAC是基于哈希函数的消息认证码,用于验证消息的完整性和真实性。在TOTP算法中,HMAC使用共享密钥和时间计数器作为输入,通过SHA系列哈希函数计算出认证码。工具支持HMAC-SHA1、HMAC-SHA256和HMAC-SHA512三种变体,分别对应不同的安全级别。HMAC的单向性确保即使攻击者获取了输出码,也无法反推出密钥。

SHA

SHA是一系列密码学哈希函数的统称,由美国国家安全局设计。SHA-1输出160位哈希值,是传统TOTP应用最常用的算法;SHA-256输出256位,提供更高的抗碰撞能力;SHA-512输出512位,是目前最安全的变体。哈希函数的特性是输入相同则输出相同,且无法从输出推导出输入。本工具支持三种SHA算法,用户可根据安全需求选择。

两步验证

两步验证是一种安全机制,要求用户在登录时提供两种不同类型的身份凭证。通常结合密码和手机验证码。TOTP是实现2FA的主流技术之一,与短信验证码相比,TOTP不依赖网络连接,生成速度更快,且不易被SIM卡劫持攻击。本工具生成的验证码可与任何支持TOTP标准的2FA服务配合使用。

otpauth URI

otpauth URI是一种标准化的密钥传输格式,被Google Authenticator等应用广泛采用。其格式为otpauth://totp/{label}?secret={key}&issuer={name}&algorithm={algo}&digits={digits}&period={period}。这种URI可以编码为二维码,方便通过手机摄像头扫描导入。本工具支持解析和生成otpauth URI,实现与其他认证器应用的密钥互导。

动态截断

动态截断是OTP算法中的一个步骤,用于从HMAC输出中提取固定长度的验证码。算法根据HMAC结果的最后4位确定截取偏移量,然后从该位置截取4字节数据,转换为一个整数后对10的n次方取模,得到最终的数字验证码。这个过程确保了验证码的均匀分布,且截取位置每次不同,增加了安全性。

时间窗口

时间窗口是TOTP算法中定义的时间段长度,通常为30秒或60秒。在同一时间窗口内生成的验证码是相同的。时间窗口通过将Unix时间戳除以窗口长度并取整得到计数器值。较短的时间窗口提供更高的安全性,但要求用户输入验证码的速度更快。本工具支持30秒和60秒两种时间窗口配置。

localStorage

localStorage是Web浏览器提供的本地存储机制,允许网页在用户浏览器中保存键值对数据。与sessionStorage不同,localStorage中的数据在浏览器关闭后依然保留,直到被主动删除或清除。本工具使用localStorage存储用户添加的账户信息和密钥,所有数据仅保存在本地,不会发送到服务器,确保了敏感信息的安全性。

抗碰撞

抗碰撞是密码学哈希函数的重要安全属性,指找到两个不同的输入产生相同哈希输出在计算上是不可行的。SHA-1的抗碰撞能力已受到威胁,而SHA-256和SHA-512目前仍保持良好的抗碰撞性。本工具提供多种哈希算法选择,允许用户根据安全需求选择合适的算法。