2011-02-10 66 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