2012-01-14 57 views
1

我有一個表格register.aspx和登錄功能,我使用vb.net如何散列密碼並保存到數據庫表中?

在我register.aspx我有兩個文本框,輸入用戶名和密碼,一個提交按鈕。如果用戶點擊提交按鈕的,密碼將被散列並存儲在數據庫表中的用戶名叫做Customer

我想知道 -

1)如何散列密碼?

2)如何比較數據庫中的哈希值與登錄時在文本框中輸入的密碼?

回答

0

您可以使用FormsAuthentication.HashPasswordForStoringInConfigFile靜態方法(System.Web.Security命名空間)。

Dim plain="abc" 
Dim hash= FormsAuthentication.HashPasswordForStoringInConfigFile(plain, "MD5") 
1

要按順序回答您的問題。

  1. 您只需在documentaion之後使用其中一個加密類。
  2. 將散列值存儲在數據庫中,因此在查詢數據庫時使用散列。

的僞代碼:

Function GetUser(name, password) 
    hashedPassword = Hash(password) 
    sqlcmd = 'select userkey from user where username = @name and password = @pass' 
    add cmd parameter ('@name', name) 
    add cmd parameter ('@pass', hashedPassword) 
    userKey = cmd.executequry 
    Return userkey 
End Function 

這就是說,不這樣做,如果你能實現的OpenID代替。這個世界真的不需要另外一個網站,因爲你沒有理由不得不記住或分享一個密碼。

相關問題