OTP 代码生成器和验证器

生成和验证一次性密码(OTP),支持 TOTP、HOTP 和简单 OTP。

基于时间的一次性密码 (TOTP)

生成基于时间变化的 OTP 代码,每 30 秒自动更新

OTP 类型说明

TOTP (Time-based)

• 基于时间的一次性密码
• 通常每 30-60 秒更新
• 时间同步要求高
• 适用于移动应用
• 常用算法: SHA1, SHA256

HOTP (Counter-based)

• 基于计数器的一次性密码
• 每次使用计数器递增
• 无需时间同步
• 适用于硬件令牌
• 需要维护计数器状态

简单 OTP

• 基于随机数生成
• 适用于临时验证
• 使用简单快捷
• 安全性相对较低
• 适合短信/邮件验证

安全建议

密钥管理:

  • 使用强随机密钥生成器
  • 安全存储密钥,避免泄露
  • 定期更换密钥
  • 使用加密传输密钥

使用环境:

  • 确保服务器时间准确
  • 实现防暴力破解机制
  • 限制验证尝试次数
  • 记录验证失败日志