该项目是一个基于JavaScript的网页工具,提供了一个简单而实用的界面,让用户能够输入密钥(Key),并直接在网页中生成与当前时间相关的TOTP密码。
将项目文件夹下的所有文件克隆到您的Web服务器的根目录,或者使用任何静态网站托管服务(如GitHub Pages、Vercel、Netlify等)进行托管。
您可以在本地打开 index.html
文件来预览网站效果。
-
设置双因素认证(2FA)时保存密钥:在设置Google Authenticator等身份验证应用程序时,选择手动输入密钥而不是扫描二维码。网站将会显示2FA密钥,将其保存到安全的地方。
-
输入密钥获取TOTP:
- 打开部署好的TOTP生成器网站。
- 在输入框中输入您的2FA密钥。
- 网站会根据当前时间和您输入的密钥生成一个短期有效的TOTP密码。
- 点击生成的TOTP密码卡片可以复制密码,以便在需要验证时使用。
TOTP(Time-Based One-Time Password)是一种基于时间的单次密码算法,用于增强身份验证的安全性。它是一种常见的双因素认证(2FA)方法之一。
常见的TOTP应用包括Google Authenticator、Authy和微软身份验证器等身份验证应用程序。这些应用程序提供了用户友好的界面和自动化的TOTP密码生成。
通常,用户将TOTP密钥与其账户关联,例如与邮箱、社交媒体、云服务等账户相关联。当用户登录时,系统会要求用户输入当前时间的TOTP密码,以验证身份。
TOTP的基本原理是根据当前时间和事先共享的密钥生成一个短期有效的密码。这个密码只能在一个特定的时间窗口内使用,过了这个时间窗口就会失效。
生成TOTP密码的过程如下:
- 用户在设备或应用程序中输入密钥(Key)。
- 使用哈希算法(通常是HMAC-SHA1、HMAC-SHA256等)和密钥对当前时间戳进行计算。
- 根据算法规定的时间步长(通常为30秒),计算出当前时间所在时间步的密码。
- 将密码进行格式化,通常为6位数字,并提供给用户使用。
- 密码在下一个时间步长后将失效,需要生成新的密码。
- 请确保密钥的安全性,不要泄露给他人。
- 使用本工具生成的TOTP密码时,请确保时间同步准确,否则生成的密码可能无效。
- 对于一些临时账户,可以选择将密钥保存到一个安全的地方,然后每次使用本工具获得TOTP。当然这种方法极具风险。
本项目使用 MIT 许可证.