当用户忘记密码时,他们可以重置密码(在大多数网站上)。他们通过接收带有重置令牌的电子邮件,然后使用它来设置新密码来实现此目的。此令牌通常会在一段时间后过期,以防止猜测。
假设令牌是256位。使用大量超级计算机强制执行它仍然需要(大约)10 ^ 50年。即它不能用现有知识完成,绝对不能在1小时内(正常到期时间)。现在的问题是:为什么我们要防止猜测呢?
答案 0 :(得分:3)
猜测并不是你保护它的真正原因。正如您所知,仅凭熵大小就可以解决这个问题。
过期主要用于减轻对该令牌的未授权访问,因为有很多方法可以从电子邮件中泄露。这正是为什么您不应该将用户密码发送到他们的电子邮件地址的原因 其他人可能暂时访问电子邮件帐户,恰好与帐户所有者一起阅读,或站在他们后面等等。各种恶作剧都是可能的。
另外,没有人希望数据库表充满旧的,但可能是临时的一次性令牌 - 每个开发人员都喜欢清理垃圾数据。