只是试图破解一个简单的脚本,我对密码有一点疑问。
无论如何,我可以向某人发送一个他们无法看到自己的随机密码但可以用来说,更改他们的Facebook密码以阻止他们自己登录?然后,我会在稍后的指定时间向他们发送可见的密码。
这纯粹是出于教育目的,因为我只是在这里和那里构建小应用程序来学习php和mysql。
示例:朋友想要离开facebook 3个小时。他使用网络应用程序,并通过电子邮件向他发送随机生成的密码,以便将当前的FB密码更改为。但是,在电子邮件中,它对他来说是隐藏的。 3个小时后,他收到另一封电子邮件,允许他使用它。
我知道可能会有更简单的方法/更清晰的方法来实现我的最终目标,但我只是对此感到好奇!
非常感谢
答案 0 :(得分:1)
如果您发送的电子邮件中包含允许用户登录的“内容”,您将向他们发送密码,如果可以通过电子邮件进行点击/复制,他们就会看到。无论密码是否是直接匹配存储值的纯文本(如“thi $ ismyPa $$ word”)或其他加密值,当输入被解密以匹配存储值时无关紧要,用户要么知道这是什么值是(因为他们必须输入它)。为了让用户提供值,他们必须拥有该值。正如其他人所提到的,你可以在你的应用程序中实现一次性使用密码,但这不适用于facebook实现,因为它不是你的应用程序,你无法控制它的功能。简而言之,如果您向用户提供用于访问系统的内容(如电子邮件),那么他们就可以看到登录所需的价值。
答案 1 :(得分:0)
传统方法是从密码中计算某种哈希值,然后发送。这是单向算法,如MD5,可以做到这一点。这样,可以确保密码的一致性,而无需自己发送密码,也可以从中推断出密码。
为了更高的安全性,可以发送散列和校验和:这样散列本身就不能被截获并作为密码的代理发送:除非散列和校验和值一致,否则不会发生身份验证。 / p>