- 1
- 2
- 3
- 4
- 5
TOTP基于时间的一次性密码详解
资料介绍
一、TOTP的定义与核心原理
TOTP(Time-Based One-Time Password)即基于时间的一次性密码,是一种根据特定算法和时间参数生成的动态密码,广泛应用于双因素认证(2FA)场景。其核心原理是通过共享密钥(Secret Key)和当前时间戳作为输入,经过哈希算法计算生成固定长度的一次性密码,实现身份验证的动态安全性。
二、TOTP的技术实现机制
1. 核心算法
TOTP基于HOTP(HMAC-Based One-Time Password)算法扩展而来,计算公式如下:
TOTP = HOTP(K, T) = Truncate
其中:
K:用户与服务端共享的密钥(128-256位)
T:时间戳,定义为T = floor(current Unix time / X),X为时间步长(默认30秒)
HMAC-SHA-1:基于SHA-1的哈希消息认证码算法(也支持SHA-256/SHA-512)
Truncate:动态截断函数,将哈希结果转换为6-8位数字
2. 时间步长与同步机制
默认时间步长为30秒,即每30秒生成一个新密码。为解决客户端与服务端时间偏差问题,通常允许±1个时间窗口(即90秒内有效),超过窗口则密码失效。
3. 密码生成流程
客户端与服务端预先共享密钥K
客户端获取当前Unix时间戳,计算T = floor(时间戳 / 30)
将T转换为8字节大端序(Big-Endian)格式
使用HMAC算法计算HMAC-SHA-1(K, T),得到160位哈希值
部分文件列表
| 文件名 | 大小 |
| TOTP基于时间的一次性密码详解.docx | 16K |
最新上传
-
21ic小能手 打赏5.00元 2天前
-
21ic小能手 打赏5.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏310.00元 3天前
用户:小猫做电路
-
21ic下载 打赏360.00元 3天前
用户:mulanhk
-
21ic下载 打赏230.00元 3天前
用户:江岚
-
21ic下载 打赏230.00元 3天前
用户:潇潇江南
-
21ic下载 打赏210.00元 3天前
用户:zhengdai
-
21ic下载 打赏160.00元 3天前
用户:lanmukk
-
21ic下载 打赏130.00元 3天前
用户:jh03551
-
21ic下载 打赏110.00元 3天前
用户:liqiang9090
-
21ic下载 打赏110.00元 3天前
用户:jh0355
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic下载 打赏20.00元 3天前
用户:w178191520
-
21ic下载 打赏30.00元 3天前
用户:sun2152
-
21ic下载 打赏30.00元 3天前
用户:xuzhen1
-
21ic下载 打赏20.00元 3天前
用户:w993263495
-
21ic下载 打赏15.00元 3天前
用户:kk1957135547
-
21ic下载 打赏15.00元 3天前
用户:eaglexiong
-
21ic下载 打赏15.00元 3天前
用户:w1966891335
-
21ic下载 打赏25.00元 3天前
用户:烟雨
-
21ic下载 打赏75.00元 3天前
用户:有理想666
-
21ic下载 打赏10.00元 3天前
用户:x15580286248
-
21ic下载 打赏40.00元 3天前
用户:xzxbybd
-
21ic下载 打赏10.00元 3天前
-
21ic下载 打赏10.00元 3天前
用户:sfgplj123
-
21ic下载 打赏10.00元 3天前
用户:dadengpao
-
21ic小能手 打赏10.00元 3天前
资料:自己编写的CRC校验工具
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
shenzhenliugang 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前




全部评论(0)