生成/存储帐户激活码

时间:2010-03-02 10:01:08

标签: user-accounts activation

通常在您注册后的任何网站上,他们会向您发送一封带有帐户激活码的电子邮件, 关于这种技术,有哪些信息/最佳实践?你喜欢如何生成它们,如何存储它们,是否对这些激活码进行编码?

2 个答案:

答案 0 :(得分:5)

生成激活码可以像生成具有固定位数的随机数一样简单。

我个人这样做,然后将生成的代码与用户名/密码/电子邮件等一起存储在数据库的users表中,以便在单击链接并运行检查代码时可以快速验证它。

我通常选择'长'数据类型并生成9位随机数,并将这些原始(未编码)存储在数据库中以便于检索。密码应该被编码,但激活码是一次性丢弃值,因此不需要任何特殊考虑。

答案 1 :(得分:2)

恕我直言,这样做的最佳方式是不存储密钥并在需要时使用种子或私钥生成密钥。或者使用MD5摘要类型的逻辑来使用特定的用户参数,比如生成字符串“username-email-id”并将其哈希并在用户再次单击时将其发送到电子邮件中,尝试生成密钥并将其与用户密钥。无需存储,无法再生。