在asp.net中使用随机数生成验证代码

时间:2018-02-04 12:27:36

标签: asp.net authentication

我正在处理我必须验证用户电子邮件的项目。为此,我生成随机数并将其发送到用户电子邮件地址(就像facebook身份验证)并将其存储在会话中。 5分钟后,此代码将过期。是好的做法还是用随机数生成认证码?如果没有,那么在asp.net中生成认证代码的好方法是什么。

1 个答案:

答案 0 :(得分:0)

  

这是一种好习惯还是随机生成身份验证代码   号码?

如果您使用一些强大的算法来生成随机数,那应该没问题。我建议使用 RNGCryptoServiceProvider 来生成随机数。

有关MSDN

的更多详情

使用会话存储生成的数字并不是一个好主意,您最终可能会遇到以下问题。

  • 如果您的应用程序是负载均衡/ Web场环境(当您使用inProc会话状态时)可能会产生问题

  • 假设您的应用程序崩溃/重新启动,那么您的应用程序将崩溃 会话数据将丢失。

  • 用户必须从同一会话验证,他无法从a验证 不同的浏览器/系统。

尝试通过实施一些强哈希算法将数字存储在数据库中。