如何在JAVA中为帐户确认邮件创建web令牌

如何在JAVA中为帐户确认邮件创建web令牌,java,token,email-confirmation,Java,Token,Email Confirmation,我浏览了许多关于stackoverflow的帖子,了解如何创建一个简单的web令牌来确认通过邮件注册。没有看到任何“官方”的方式或普通的技术 我的想法是在数据库中添加一个特定的单元格,并使用到期日期来加密或散列到期日期、电子邮件和一个随机值(使用randomSecure生成)来创建我的令牌 这是实现这一目标的好方式吗?是否有自动执行此操作的库 非常感谢您的帮助。您(可能)需要一种方法来阻止某人生成自己的代币。如果您的令牌在令牌中有明确的到期日期和电子邮件地址,则可以轻松地对其进行反向工程,因此唯

我浏览了许多关于stackoverflow的帖子,了解如何创建一个简单的web令牌来确认通过邮件注册。没有看到任何“官方”的方式或普通的技术

我的想法是在数据库中添加一个特定的单元格,并使用到期日期来加密或散列到期日期、电子邮件和一个随机值(使用
randomSecure
生成)来创建我的令牌

这是实现这一目标的好方式吗?是否有自动执行此操作的库

非常感谢您的帮助。

您(可能)需要一种方法来阻止某人生成自己的代币。如果您的令牌在令牌中有明确的到期日期和电子邮件地址,则可以轻松地对其进行反向工程,因此唯一安全的信息是随机数。但是为了使随机数有用(从安全角度来看),服务器需要记住随机数。但是如果你要这样做,其他信息是多余的

所以我的建议是使用随机数作为标记。生成具有适当“文本保护”的随机数的一个好方法是生成类型4 UUID;有关详细信息,请参见
UUID
classjavadoc。其余信息(有效期、电子邮件地址和用户注册信息的唯一密钥)可以存储在数据库表中,而不发送给用户