2010-05-22 118 views

回答

3

典型的工作流程涉及到生成一個salt值並使用它來散列密碼,然後將它們存儲在行中。這在很多地方都有詳細記錄,很容易搜索。

如果你真的只想要一種快速散列或無鹽加密如果您擔心通過電線發送純文本,使用https看看FormsAuthentication.HashPasswordForStoringInConfigFile

+1

+1:然後你就可以在你的web.config這樣的配置。彩信查詢表比鹽醃更容易受到攻擊。 – Tim 2011-07-10 08:59:04

2

。然後,無論您使用https還是不使用單向哈希算法(例如Sha256)來「加密」密碼並將其存儲在數據庫(或您正在使用的任何持久存儲)中。當用戶登錄時,使用相同的算法將它們輸入的文本轉換爲散列文本,並將散列文本與數據庫中的散列文本進行比較。

1

我發現使用Membership Provider from ASP.NET最簡單的方法。爲提鹽

<system.web> 
    <membership> 
    <providers> 
     <clear /> 
     <add 
     name="AspNetSqlMembershipProvider" 
     (...) 
     passwordFormat="Hashed" 
     (...) /> 
    </providers> 
    </membership>