2011-02-10 127 views
0

我完全失去了这一个。 我有一个客户,要求我在他的网站上创建一个xml api与iPhone应用程序一起使用。 iphone应用程序开发人员使用SHA1加密密码发送授权值。比较SHA1哈希登录wordpress帐户

如何检查用户名(纯文本)和密码(Sha1)是否正确?

我正在读class.phpass.php和plugable.php,但我无法弄清楚。

回答

1

这将需要一些工作。 WP密码存储为盐腌的MD5哈希,它不可能与您发送的SHA1相匹配。此外,由于密码的“明文”未保存,因此您无法自动生成额外的SHA1值。

下面是关于如何攻击这个问题的的建议,把我的头顶部:

  1. 了该应用程序使用HTTPS连接,然后发送密码的明文。这是最安全的,它需要最少的WP代码重新工作,但它可能不是一个可用的选项。
  2. 让应用程序发送用对称密码加密的密码,应用程序和WP都知道密钥。在多个地方管理一个秘密密钥是很危险的。你几乎不得不假定它最终会泄漏,然后任何安全措施都会消失。
  3. 当用户成功登录到WP(或创建时,或者他们更改密码时),请创建一个用户元值,该元值是密码的SHA1。然后它可用于未来的应用程序验证。

根据网站的具体情况,项目#2和#3并不真正安全。 #2只是在等待破解,除非#3通过加密连接发生,否则它实际上是通过网络发送明文密码(以SHA1的形式)。

如果你不能让应用程序开发者去做#1,那么我建议你去#3,并希望没有人真正关心网站管理的任何信息。

+0

感谢您的建议彼得,我会与iPhone开发者交谈,让你知道 – chifliiiii 2011-02-12 11:26:43