2015-09-19 71 views
2

我正在使用ASP.NET MVC 5以及微軟身份。Microsoft身份密碼哈希對於相同的密碼是不同的

我有一個名爲AspNetUsers的表。

它有一個名爲「PasswordHash」的字段。

我創建了2個用戶使用相同的密碼,但密碼哈希是不同的。

爲什麼我不明白它的功能?它使用機器鑰匙嗎?

如果我使用相同的數據庫在雲中部署我的服務器,會發生什麼情況。

身份密碼比較還會繼續在那裏工作嗎?

+0

這是爲了安全起見而設計的。閱讀:https://en.wikipedia.org/wiki/Salt_(cryptography) –

+0

那麼鹽在哪裏,我可以改變,所以如果我部署另一臺服務器,數據庫密碼仍然有效。 – TotalWar

回答

5

Identity將密碼哈希和salt放在數據庫的相同字段中。密碼散列總是32個字節,鹽總是16個字節。所以當涉及到密碼驗證時,Identity始終知道什麼是鹽,什麼是實際的哈希。您可以通過查看source code來驗證這一點。

而且由於每次執行的鹽總是不同,所以添加salt的密碼總是會產生不同的哈希結果。