2013-10-10 69 views
0

我正在rails中實現一個API,並且希望使用HTTP摘要授權,因爲它比基本授權更安全。如果我的密碼作爲單向加密散列存儲在數據庫中,如何實現這一點。HTTP摘要驗證單向加密密碼

回答

0

老實說?不要打擾。如果您要使用Digest over HTTP,您最好還是使用表單或基本身份驗證。 HTTPS是解決方案。使用摘要仍然是完全不安全的(它使用弱散列,並且不提供針對MitM攻擊的防禦)。

HTTPS並不難,沒有它,你將很難確保你的應用程序。

+0

絕對要做的形式,因爲基本也容易重播攻擊。 –

0

對存儲在服務器上的散列值使用摘要授權的唯一方法是在客戶端上覆制散列算法以將用戶的密碼轉換爲散列,然後基本成爲新密碼(共享密鑰)。

如果您在生成哈希值時使用了鹽,則需要在客戶端上使用相同的salt,這可能很困難。

正如其他人所建議的,請考慮使用HTTPS。然後,您可以將密碼以純文本形式從客戶端發送到服務器,並依靠HTTPS提供端到端的保護。 HTTPS提供加密和認證,這將關閉循環。