百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
O

Otp.NET

> 安全
开源

用于两因素身份验证码等用途的 TOTP 和 HOTP 的 .NET 实现。

1.3K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

用于两因素身份验证码等用途的 TOTP 和 HOTP 的 .NET 实现。

Otp.NET 是在 C# 中实现 RFC 6238 的 TOTP 和 RFC 4226 的 HOTP 的一个实现。可以在 NuGet 中获取它 https://www.nuget.org/packages/Otp.NET powershell 安装包 Otp.NET 或 bash dotnet 添加包 Otp.NET 文档 - TOTP (定时一次性密码) - HOTP (基于 HMAC 的一次性密码) - OTP Uri - Base32 编码 TOTP (定时一次性密码) TOTP 是一种使用滚动时间窗口来计算一次性密码的算法。它通常用于双因素身份验证。Google Authenticator 应用程序使用 TOTP 来计算一次性密码。此库实现了在 C# 中的 TOTP 代码计算。它可以嵌入使用 Mono 的移动应用程序中,或者用于服务器端,仅用于验证提供的代码。创建 TOTP 对象 使用该库非常简单。有一个名为 Totp 的类。只需创建一个新实例,并将明文的共享秘密密钥传递给它作为一个字节数组。c# using OtpNet; c# var totp = new Totp(secretKey); 可以使用多种选项来更改代码的计算方式。这些选项都在 RFC 中提到。这些选项在创建 TOTP 对象时进行指定。可以使用不同的哈希算法来计算代码。默认值是 Sha1,但也可以使用 Sha256 和 Sha512。要从默认的 Sha1 改变此行为,只需在构造函数中传递所需的 OtpHashMode 枚举值。c# var totp = new Totp(secretKey, mode: OtpHashMode.Sha512); 时间步长窗口也可以指定。RFC 建议使用三十秒的窗口。这意味着每三十秒会生成一个新代码。如果需要,可以更改步长窗口。没有围绕此问题进行测试,因为 RFC 测试表中都使用了 30 秒的窗口,因此请自行承担使用此功能的风险。就像哈希模式一样,将此值传递给构造函数。它是一个表示秒数的整数。c# var totp = new Totp(secretKey, step: 15); // 每 15 秒生成一个新代码 最后,可以指定截断级别。基本上,这是您希望 TOTP 代码的位数。RFC 中的测试指定了 8,但 6 已经成为事实上的标准,而不是实际标准。对于此原因…

GitHub Issues· 0 开放

在 GitHub 查看全部

暂无开放 Issues,或尚未同步最近议题。

核心特点

  • •TOTP (Timed One Time Password)
  • •HOTP (HMAC-based One Time Password)
  • •Base32 Encoding

> 标签

C#2facsharpdotnethotp

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类安全
定价开源

> 相关工具

O
OWASP ZAP
开源 Web 应用安全扫描器
O
owasp-wstg-tracker
Simple web app to track OWASP WSTG security testing progress
H
homebridge-mi-gateway-security
XiaoMi Gateway Security plugin for HomeBridge.