關於如何存儲用戶密碼的Stack Overflow有很多問題,當然一般建議是散列密碼和比較散列。當散列不適用時將密碼存儲在數據庫中
但是,想象你正在構建一個人們在自己的環境中部署的shrinkwrap內聯網應用程序(如SharePoint)。假設它需要用戶名/密碼組合才能通過HTTP訪問外部服務(不支持依賴於API密鑰或聯合安全性的解決方案)。
在這種情況下,我們不能散列密碼,因爲我們需要將原始密碼傳遞給我們所調用的Web服務。加密將是第二好的解決方案,但我們將使用什麼加密密鑰?如果受到攻擊會破壞數據庫,那麼他們可能會首先訪問用於加密數據的任何密鑰?
如果您確實需要獲取存儲密碼的純文本版本,您將如何以最安全的方式處理問題?
應用程序不向用戶顯示密碼;它在調用Web服務時將密碼作爲基本HTTP憑據發送。用戶在將Web服務「添加」到應用程序時輸入一次密碼。 – 2011-12-30 01:13:54