4
我走過邁克爾·哈特爾的書(真棒,免費資源,順便說一句,感謝邁克爾!),我有一個關於鹽析和散列密碼的問題。提供密碼的目的是爲了防止黑客進行彩虹攻擊,如果我理解正確的話,黑客可以猜測使用的加密類型,這基本上是一種強力攻擊。爲了防止這種攻擊,在加密之前使用salt來隨機化密碼,但是必須將salt與加密的密碼一起存儲?如果是這樣,那麼如果黑客可以訪問數據庫並檢索加密的密碼,那麼他們是否也能檢索鹽並繼續進行彩虹攻擊?試圖瞭解在Ruby中醃製和散列密碼on Rails的
具體的過程邁克爾的代碼示例...
>> Time.now.utc
=> Fri Jan 29 18:11:27 UTC 2010
>> password = "secret"
=> "secret"
>> salt = secure_hash("#{Time.now.utc}--#{password}")
=> "d1a3eb8c9aab32ec19cfda810d2ab351873b5dca4e16e7f57b3c1932113314c8"
>> encrypted_password = secure_hash("#{salt}--#{password}")
=> "69a98a49b7fd103058639be84fb88c19c998c8ad3639cfc5deb458018561c847"
非常感謝!
很好的解釋。補充一點,每條記錄不同鹽的含義是,即使攻擊者成功破解了一個給定的密碼和散列密碼,他們仍然只會破壞一個帳戶。他們必須爲表格中的每個條目重複此過程。 – 2011-03-06 23:27:04