1

目前我写了一个电子邮件验证码,它发送一个链接,其中用户的 GUID 作为他的验证码。我认为这不安全,所以我想听听您的意见,创建验证码的最佳和最简单的方法是什么?

我认为最简单的方法是创建某种散列并将其放入数据库中,当用户单击他的链接时,它将链接值与我的数据库中的散列进行比较。但是为什么我的数据库中需要一个只使用一次的列呢?那是浪费空间。

4

2 回答 2

3

通常,您会创建一个随机值(Guid 对此很好),它是一个重置密码代码。代码应该过期并且只能使用一次。您不希望有人阅读包含密码重置的旧邮件并能够重置代码(因为使用 UserID Guid 时代码总是相同的)。

在 SO 上查看基于表单的网站身份验证的权威指南,它有很多有用的信息。

于 2013-01-02T19:45:43.627 回答
2

我想说您可以对用户的 GUID(可能使用 SALT)进行简单的对称加密,然后简单地解密用户的 GUID 作为验证。

于 2013-01-02T19:41:34.613 回答