tomai
免费 · 开发者工具

TOTP 验证码

base32 密钥秒出 2FA 动态码——不用装 App

位数
周期
当前验证码
------

动态码到底是怎么算出来的

TOTP 把共享密钥和当前时间变成短码:两边都按 30 秒切窗口,拿密钥 HMAC 一下窗口号,截 6 位。密钥相同、时间相同,码就相同——不用联网,不用短信,路上没东西可截。

这个工具能做什么

  • 📲 任意 base32 密钥出滚动动态码
  • 🔢 6 位或 8 位,30 秒或 60 秒周期
  • ⏳ 倒计时条告诉你码还有几秒作废
  • 🔒 密钥只留在你的浏览器——本地算

什么时候用它

  • 电脑前登录,手边没手机
  • 测自己刚搭好的 2FA
  • 留个读码的备用通道

隐私:密钥只在你的浏览器里参与计算——不传输、不存储、不记日志。

最后更新 · 2026-09-01

码是怎么算的

base32 解码的密钥加 30 秒窗口计数器,过 HMAC-SHA1;动态截断(RFC 4226)取 31 位再对 10 的位数次方取模。页面每半秒按系统时钟重渲染,后台标签页也准。

为什么在这里出码?

📲

标准实现,不是近似

真 RFC 6238,走 RFC 4226 HMAC-SHA1 加动态截断——官方测试向量过的,码跟谷歌验证器逐位一致。

⏱️

倒计时看得见

进度条精确显示当前码还剩几秒,再也不会剩 1 秒输进去然后纳闷为啥挂了。

🔒

密钥守得住

手写 SHA-1 本地跑,零网络请求——贴 2FA 密钥进来,谁也看不见,不像服务器端生成器。

常见问题

密钥去哪找?

每个开 2FA 的服务都会在二维码旁边给一串文本密钥(一般写着手动输入或无法扫描)。形如 JBSWY3DPEHPK3PXP 的 base32,贴过来就行。

把 2FA 密钥贴进网站安全吗?

在这个页面可以——构造上就是安全的:验证码全在你的浏览器本地算,密钥不发送、不存储、不记日志。但拿到密钥的人就能生成你的码,所以还是当密码一样保管。

码总被拒绝为什么?

九成是时钟歪了:TOTP 吃的就是时间,先检查设备时间是不是自动对时。再看密钥是不是贴全了,服务要的是不是 30 秒 6 位码。

常见问题

密钥去哪找?

每个开 2FA 的服务都会在二维码旁边给一串文本密钥(一般写着手动输入或无法扫描)。形如 JBSWY3DPEHPK3PXP 的 base32,贴过来就行。

把 2FA 密钥贴进网站安全吗?

在这个页面可以——构造上就是安全的:验证码全在你的浏览器本地算,密钥不发送、不存储、不记日志。但拿到密钥的人就能生成你的码,所以还是当密码一样保管。

码总被拒绝为什么?

九成是时钟歪了:TOTP 吃的就是时间,先检查设备时间是不是自动对时。再看密钥是不是贴全了,服务要的是不是 30 秒 6 位码。

相关工具

相关工具