很多人都是一个共同的主题。我正在使用Spring + Spring Security + Hibernate + MySQL +等构建一个Java应用程序的Web应用程序...忘记密码请求(Java)
我正在实施“重置密码”模块。我已经知道流程并拥有所有表单和相应的控制器。我只想在各地写代码之前知道,如果我从右脚开始,然后继续改进它。
MySQL表:
PASSWORD_CHANGE_REQUESTS (
TOKEN VARCHAR(126) NOT NULL,
USERNAME VARCHAR(50) NOT NULL,
CREATION_TIME DATETIME NOT NULL,
PRIMARY KEY(TOKEN)
)
我已经看到了一些职位推荐EXPIRE_DATE场。是不是真的值得吗?
唯一令牌:
我使用与用户名+时间戳参数(+所需盐值),它返回字符串诸如弹簧SHA编码器:92c303b9740da5959418c32d04b6ec6f4ca61637。
此方法是否真的为网址生成唯一令牌?还是有更好的方法来做到这一点?
在Java中,是这样产生的时间戳:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy h:mm:ss");
String timestamp = sdf.format(date);
感谢您的信息。你和Marc只是给了我需要的到期期限确认。顺便说一下,我已经实现了UUID功能。也感谢链接! – CountD