一次性密码( One-Time Password ,OTP )是一种密码认证机制,设计用来增强系统的安全性。这种密码只能使用一次,使用后即失效,因此它能有效防止重放攻击(即攻击者复制一次成功的认证尝试来进行恶意登录)。一次性密码广泛应用于银行、在线服务和其他需要高安全性的领域。


## 原理
```
TOTP 算法( RFC 6238 ) - 技术实现

密钥共享:
用户和认证服务器在初始设置时共享一个密钥。

时间戳:
使用当前的时间戳,通常以 30 秒为单位。

HMAC 算法:
使用 HMAC (基于哈希的消息认证代码)与共享密钥和时间戳结合生成一个哈希值。

动态截断:
从 HMAC 生成的哈希值中动态选择一部分作为最终的一次性密码。
```
举报· 56 次点击
登录 注册 站外分享
4 条回复  
NoOneNoBody 小成 2024-10-1 14:14:25
破除的意思是?你想输入任意数字都能过?
abersheeran 小成 2024-10-1 15:42:55
算法本身肯定没问题。经常攻击别人的朋友都知道,一个系统的安全性是由最弱的那一环决定的。比如你装了浏览器插件用于查看 OTP ,那么攻击者只需要扫你的浏览器存储位置(之前就有人通过扫浏览器目录直接拿到 cookie 等信息代替用户操作)就可以拿到密钥。
hefish 小成 2024-10-1 16:56:30
我最近对故宫文物比较感兴趣,请问哪里可以偷到故宫文物。
hbtech 初学 2024-10-1 17:03:13
30 秒内发 10^6 个请求,从 000000-999999 ,总有一个能对
返回顶部