如何在 JAVA 中为帐户确认邮件创建网络令牌
How can I create a web token for account confirmation mail in JAVA
我浏览了很多关于 Whosebug 的帖子,以了解如何创建一个简单的 Web 令牌来确认通过邮件注册。没有看到任何 "official" 方式或通用技术。
虽然我没有在数据库中添加一个特定的单元格和到期日来加密或散列到期日,电子邮件和一个随机值(用 randomSecure
生成)来创建我的令牌。
这是实现该目标的好方法吗?是否有库可以自动执行此操作。
非常感谢任何帮助。
您(可能)需要一种方法来防止某人生成自己的令牌。如果您的令牌中有到期日期和电子邮件地址明文,那么它们可以毫不费力地进行逆向工程,因此唯一安全的信息是随机数。但是为了使随机数有用(从安全角度来看),您的服务器需要记住随机数。但如果您打算这样做,其他 信息就多余了。
所以我的建议是只使用随机数作为令牌。使用 suitable "text armor" 生成随机数的一个好方法是生成一个 type-4 UUID;有关详细信息,请参阅 UUID
class javadoc。其余信息(到期时间、电子邮件地址和用户注册信息的唯一密钥)可以存储在数据库中 table 并且不会发送给用户。
我浏览了很多关于 Whosebug 的帖子,以了解如何创建一个简单的 Web 令牌来确认通过邮件注册。没有看到任何 "official" 方式或通用技术。
虽然我没有在数据库中添加一个特定的单元格和到期日来加密或散列到期日,电子邮件和一个随机值(用 randomSecure
生成)来创建我的令牌。
这是实现该目标的好方法吗?是否有库可以自动执行此操作。
非常感谢任何帮助。
您(可能)需要一种方法来防止某人生成自己的令牌。如果您的令牌中有到期日期和电子邮件地址明文,那么它们可以毫不费力地进行逆向工程,因此唯一安全的信息是随机数。但是为了使随机数有用(从安全角度来看),您的服务器需要记住随机数。但如果您打算这样做,其他 信息就多余了。
所以我的建议是只使用随机数作为令牌。使用 suitable "text armor" 生成随机数的一个好方法是生成一个 type-4 UUID;有关详细信息,请参阅 UUID
class javadoc。其余信息(到期时间、电子邮件地址和用户注册信息的唯一密钥)可以存储在数据库中 table 并且不会发送给用户。