.NET中带有口令加密的注册页面

王朝c#·作者佚名  2008-05-19
宽屏版  字体: |||超大  

在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

至于用户的验证也是一样的思路了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有