【发布时间】:2017-05-10 02:39:24
【问题描述】:
我必须创建一个电子邮件验证和密码重置系统,因此我需要一个令牌生成器。起初我认为这些令牌必须是严格唯一的,但是当我检查数据库中的 hash(token) 和电子邮件时,我不明白为什么我不应该只使用足够长度的随机字符串而不附加 uniqid()示例(这也很明显)。
我对这个假设是否正确?
【问题讨论】:
-
是的,它们必须是唯一的并且只使用一次。如果同一个用户尝试使用同一个密钥并且不被允许/不应该被允许,那么这可能是一个问题。
-
另外,如果您使用 db 中的 AI/PK 密钥(您应该这样做),那么将唯一密钥与 AI/PK 一起使用,将使其更加独特“用户”。顺便说一句,我回到这个问题,看看是否还有活动;还有一条评论,但被删除了。我唯一看到的更多是我赞成的评论。我认为这几乎(应该)回答了这个问题。如果你愿意,你可以 ping 我,因为我现在已经永远离开了这个问题。享受你的圣诞节,干杯