• 1
  • 2
  • 3
  • 4
  • 5
asp.net空间 首 页  »  帮助中心  »  虚拟主机  »  asp.net空间
介绍ASP.NET中加密的功能
发布日期:2015-10-13 22:10:49
 

  介绍ASP.NET中加密的功能

  我们可以看到在ASP.NET中也有加密的功能。本文将为您介绍如何使用ASP.NET的加密功能将数据加密后再存储到数据库中的方法。我们知道名字空间System.Web.Security中包含了类FormsAuthentication,其中,有一个方法是HashPasswordForStoringInConfigFile。当您使用这个方法时可以将用户提供的字符变成乱码,然后就可以存储起来。当然,请注意注意这种方法是不能继承的。如果您在做注册页面时,想要使用ASP.NET的加密功能将数据加密后在存储到数据库,您可以参照以下的编码过程:

  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