天天看點

帶有密碼加密的注冊頁面

在ASP.NET中提供了加密的功能。名字空間System.Web.Security中包含了類FormsAuthentication,其中有一個方法HashPasswordForStoringInConfigFile。這個方法可以将使用者提供的字元變成亂碼,然後存儲起來。注意此方法是不能繼承的。 下面的代碼就是在做注冊頁面時将資料加密後存儲到資料庫的過程 Imports System.Web.Security Imports System.Data Imports System.Data.SqlClient '所需要的名稱空間 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim PassFormate As String '///EncryptPassword調用函數 PassFormate = EncryptPassword(uid.Text, "md5") '//或者是EncryptPassword(uid.Text, "sha1") 'TextBox2.Text = EncryptPassword(uid.Text, "md5") 'TextBox3.Text = EncryptPassword(uid.Text, "sha1") '///這些大家自己試驗吧 'TextBox4.Text = FormsAuthentication.FormsCookieName 'TextBox5.Text = FormsAuthentication.FormsCookiePath 'TextBox6.Text = FormsAuthentication.GetRedirectUrl(uid.Text, True) 'FormsAuthentication.SetAuthCookie(uid.Text, True) Dim sql As String = "insert into pwd(uid,pwd) values(@uid,@pwd)" Dim comm As SqlCommand = New SqlCommand(sql, conn) conn.Open() comm.Parameters.Add(New SqlParameter("@uid", SqlDbType.Char, 16)) comm.Parameters("@uid").Value = uid.Text comm.Parameters.Add(New SqlParameter("@pwd", SqlDbType.Char, 16)) comm.Parameters("@pwd").Value = PassFormate comm.ExecuteNonQuery() End Sub '定義加密函數,可以随時調用。 Function EncryptPassword(ByVal password As String, ByVal passwordformate As String) If passwordformate = "sha1" Then EncryptPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(password, "sha1") ElseIf passwordformate = "md5" Then EncryptPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(password, "md5") Else EncryptPassword = "" End If End Function 至于使用者的驗證也是一樣的思路了。