.NET中帶有口令加密的註冊頁面 (轉)

worldblog發表於2007-12-13
.NET中帶有口令加密的註冊頁面 (轉)[@more@]

在中提供了的功能。名字空間System..Security中包含了類FormsAuthentication,其中有一個方法HashPassForStoringInConfigFile。這個方法可以將提供的字元變成亂碼,然後起來。注意此方法是不能繼承的。
下面的程式碼就是在做註冊頁面時將資料加密後儲存到的過程
Imports System.Web.Security
Imports System.Data
Imports System.Data.Client '////////所需要的名稱空間

 

Private Sub Button1_Click(ByVal sender As System., ByVal e As System.EventArgs) Handles Button1.Click
Dim Pasormate 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.FormokieName
'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", SqlType.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
至於使用者的驗證也是一樣的思路了。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992585/,如需轉載,請註明出處,否則將追究法律責任。

相關文章