【发布时间】:2014-09-26 00:07:55
【问题描述】:
在通过 ajax 发送以及在 php 中清理和验证登录时,我真的对哈希密码感到困惑。
我应该在通过 ajax 发送密码之前对密码进行哈希处理吗?如果我要清理和验证哈希密码并将另一个 ajax 哈希提交的哈希密码存储在数据库中呢?
我知道散列一个 javascript 散列密码在这里没有任何意义。
任何人都可以说出通过 ajax 发送密码和在 php 中进行清理/验证的最佳做法。
【问题讨论】:
在通过 ajax 发送以及在 php 中清理和验证登录时,我真的对哈希密码感到困惑。
我应该在通过 ajax 发送密码之前对密码进行哈希处理吗?如果我要清理和验证哈希密码并将另一个 ajax 哈希提交的哈希密码存储在数据库中呢?
我知道散列一个 javascript 散列密码在这里没有任何意义。
任何人都可以说出通过 ajax 发送密码和在 php 中进行清理/验证的最佳做法。
【问题讨论】:
常见的方法是将密码作为纯文本发送到服务器(在您的情况下进行 AJAX 调用),然后在服务器中进行哈希处理,然后再访问数据库以创建新用户以检查输入的密码是正确的。
【讨论】:
如果您不在网络上使用 HTTPS,您可能希望在客户端上执行散列,以使黑客更难检索明文密码。当然,最好还是使用 HTTPS。
还有一个名为 Secure Remote Password 的加密协议,旨在让字典攻击用户的密码变得更加困难。但是,实施起来需要一些工作。
http://en.wikipedia.org/wiki/Secure_Remote_Password_protocol
【讨论】: