2011-07-27 81 views

回答

2

密碼的散列值應該是統一的字符串長度,並以十六進制或base64文本(或其他單字節每字符表示)表示。

編輯(你只需要每散列函數輸出的長度均勻char類型!)

所以焦炭就足夠了。

+0

大,只是一個問題,我都存儲在DB哈希和鹽。用戶出現並輸入他的用戶名和密碼。我首先必須從數據庫中檢索salt,然後使用此值通過用戶輸入的密碼創建哈希值,然後使用該值對數據庫中的哈希值進行檢查? – StevieB

+0

這是正確的。在某些時候,你必須將鹽(來自數據庫或其他來源)與用戶的密碼相結合,對其進行散列並進行比較。您也可以選擇在存儲過程中執行此操作,這樣可以提高安全性,因爲您不必將鹽從數據庫中取出。看到這裏:http://msdn.microsoft.com/en-us/library/ms174415.aspx –

0

立足本使用varchar數據類型

- 等等等等 -

我需要30個字符來發表回覆

+0

感謝泰迪答覆 – StevieB

4

微軟使用,當我們使用SQL成員Nvarchar,看看下面的圖片

enter image description here

+0

盛大,只是一個問題,我有散列和鹽存儲在數據庫中。用戶出現並輸入他的用戶名和密碼。我首先必須從數據庫中檢索salt,然後使用此值通過用戶輸入的密碼創建哈希值,然後使用該值對數據庫中的哈希值進行檢查? – StevieB

+1

爲什麼不使用ASP.NET 2.0成員和角色教程系列中的內部版本? http://weblogs.asp.net/scottgu/archive/2006/05/07/ASP.NET-2.0-Membership-and-Roles-Tutorial-Series.aspx –

+0

檢查此以及http://www.asp。網絡/安全/教程 –