与代码生成器和验证器位于同一服务器的C#中的TOTP问题

问题描述

我正在尝试在我的项目中实现基于时间的OTP,其中代码生成和代码验证将由同一服务器完成。我的全部要求是生成一个可以在一段时间内有效(可配置)的OTP,然后将其发送到用户电子邮件,并可以选择将密码重新发送到用户的电子邮件。

一旦我们为带有时间步长的特定密钥生成代码,我就可以理解,对于该特定时间步长,它将为同一密钥生成相同的代码。但是使用这种方法的问题是,假设时间步长为5分钟,则生成了一个代码,有效期为5分钟。现在,在6分钟之后,如果我再次发送代码,则新代码将仅在接下来的4分钟内有效,而不是5分钟,因为新代码是在先前代码过期后生成的。

理想情况下,自用户提出OTP请求之日起5分钟内有效。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...