在Java EE 6中生成激活URL

arg*_*g20 7 java activation jsf-2

我正在使用Java EE 6 Web Profile开发Web应用程序.我想通过电子邮件向新用户发送其帐户的激活链接.我该如何实现呢?我正在使用JSF2.这样做有什么规范或推荐方法吗?

Nis*_*ant 16

我参与了一个项目,要求用户确认他的电子邮件ID以激活他的注册.密钥生成过程是这样的:

关键创造

  1. verification_keyusers表中创建一个列,该列包含用户的唯一验证密钥.
  2. 使用SHA256哈希作为您的密码,使用您的唯一用户名(在本例中为email-id).
  3. 将哈希转换为base64并存储在verification_key该用户中.这将是独特的(出于实际目的,我不会进入碰撞概率).

所以,底线, key = Base64(Hash256(uniqueUserName+"."+password))

......

旁注:BTW,没有什么限制你使用密码作为盐.您可以在盐上创建一个任意字符串.

验证

  1. 由于我们知道它verification_key是唯一的,因此key从request-parameter获取并找到匹配的行.
  2. 如果找到,则设置verification_keynull(这也将减少发生碰撞的可能性)并将用户带到"成功验证的页面".
  3. 如果未找到,请将用户带到"已激活/密钥未找到/ 401页".