2011-03-16 262 views
0

我創建一個自定義在ASP.Net Web窗體「添加用戶」頁面,都創下了問題。我可以將所有數據插入到成員資格表中,但密碼以純文本形式存儲,並且密碼salt已被硬編碼。ASP.NET的密碼哈希和密碼鹽

我如何去散列密碼,以便用戶可以登錄(如隸屬框架檢查密碼哈希,而不是明文密碼)。另外,鹽是完全隨機的,還是它以某種方式與密碼哈希鏈接?

任何幫助將不勝感激,

馬克

回答

1
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15"> 
     <providers> 
     <clear /> 
     <add 
      name="SqlProvider" 
      type="System.Web.Security.SqlMembershipProvider" 
      connectionStringName="MySqlConnection" 
      applicationName="MyApplication" 
      enablePasswordRetrieval="false" 
      enablePasswordReset="true" 
      requiresQuestionAndAnswer="true" 
      requiresUniqueEmail="true" 
      passwordFormat="Hashed" /> 
     </providers> 
    </membership> 

看到了passwordFormat = 「散列」 中提到的行。您需要制定此設置以使密碼散列。 PasswordFormat有三個值。你選擇了你想要的,並相應地配置你的應用程序。

+0

Upvoted,但有沒有辦法添加鹽? – Ben 2011-03-16 21:51:58

+0

@Ben:只有通過實現自定義成員資格提供程序 – LukeP 2011-04-29 21:18:21