我有一个表单register.aspx
和一个登录功能,我正在使用vb.net
在我的register.aspx
我有两个文本框,用户名和密码以及提交按钮。如果用户单击提交按钮上的,则密码将被散列并与名为Customer
的数据库表中的用户名一起存储
我想知道 -
1)如何散列密码?
2)如何将数据库中的散列值与登录时在文本框中输入的密码进行比较?
答案 0 :(得分:1)
按顺序回答您的问题。
Psuedo代码:
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,不要这样做。世界真的不需要另一个你必须记住或共享密码的网站。
答案 1 :(得分:0)
您可以使用FormsAuthentication.HashPasswordForStoringInConfigFile
静态方法(System.Web.Security命名空间)。
Dim plain="abc"
Dim hash= FormsAuthentication.HashPasswordForStoringInConfigFile(plain, "MD5")