我有一個表格register.aspx
和登錄功能,我使用vb.net如何散列密碼並保存到數據庫表中?
在我register.aspx
我有兩個文本框,輸入用戶名和密碼,一個提交按鈕。如果用戶點擊提交按鈕的,密碼將被散列並存儲在數據庫表中的用戶名叫做Customer
我想知道 -
1)如何散列密碼?
2)如何比較數據庫中的哈希值與登錄時在文本框中輸入的密碼?
我有一個表格register.aspx
和登錄功能,我使用vb.net如何散列密碼並保存到數據庫表中?
在我register.aspx
我有兩個文本框,輸入用戶名和密碼,一個提交按鈕。如果用戶點擊提交按鈕的,密碼將被散列並存儲在數據庫表中的用戶名叫做Customer
我想知道 -
1)如何散列密碼?
2)如何比較數據庫中的哈希值與登錄時在文本框中輸入的密碼?
您可以使用FormsAuthentication.HashPasswordForStoringInConfigFile
靜態方法(System.Web.Security命名空間)。
Dim plain="abc"
Dim hash= FormsAuthentication.HashPasswordForStoringInConfigFile(plain, "MD5")
要按順序回答您的問題。
的僞代碼:
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代替。這個世界真的不需要另外一個網站,因爲你沒有理由不得不記住或分享一個密碼。